ITEM 16 : Avoid Creating Unnecessary Objects.
(불필요한 오브젝트 생성을 하지마라)
■ 요약 및 장점
1. 불필요한 오브젝트 생성을 최대한 줄여서, Garbage Collector에게 부담을 주지 말아야 한다.
그 방법에는 3가지가 있다.
1-1. 여러군데에서 자주 사용하는 변수는 local variable 에서 member variable로 승격시켜야 한다.
승격시키는 변수가 IDisposable을 구현하고 있다면 당신의 클래스에서도 IDisposable을 구현해야한다.
승격시키는 변수는 참조타입이여야 하며 자주 호출되는 함수에서 사용되는 변수 이여야 한다.
1-2. static으로 선언된 변수는 참조되는 시점에서 초기화를 시켜서 리턴해줘야한다.
그렇게 함으로써 메모리의 낭비를 줄일 수가있다. (싱글톤 패턴을 이용)
1-3. string과 같은 immutable type을 사용해서 문자열을 조합해서 새로운 문자를 만들때는 + operator를
사용하지 말아야 한다. + operator를 사용하면 immutable type이므로 문자가 추가되지 않고 새로운 변수를
만들어서 garbage가 많이 생성된다.
이럴때에는 string.Format()을 이용하거나 Stringbuilder(mutable type이다)를 이용하면 된다.
■ Terms
■ 해석이 모호하거나 중요한 구문
■ 단어
1. behalf: 이익 ,원조, 지지
2. illustrate : 삽화를 이용하다, 이용하다
3. seemingly : 겉보이게는, 외관상으로는
4. concatenate : 연쇄시키다, 결부시키다,연관시키다
5. facilitate : 용이하게 하다/가능하게 하다
6. in steps : 보조를 맞추다.
■ 피드백
'프로그래밍 > Effective C#' 카테고리의 다른 글
ITEM 18 : 값 타입과 참조 타임을 구별하라 (0) | 2015.04.23 |
---|---|
ITEM 17 : 표준 Dispose 패턴을 구현하라 (0) | 2015.04.23 |
ITEM 15 : 리소스 해제를 위해서 using과 try/finally 구문을 사용하라. (0) | 2014.05.30 |
ITEM 14 : 중복되는 초기화 로직을 최소화 하라. (0) | 2014.05.30 |
ITEM 13 : Static 멤버변수에 대해서 적절한 초기화를 하라. (0) | 2014.05.30 |