ITEM 9 : Avoid Conversion Operator in Your APIs
(Conversion Operator를 회피하라.)
■ 요약 및 장점
1. Conversion Operator를 이용해서 변환을 하게 될 때, 타겟에 대한 완벽한 대체가 불가능 하게 될 때
종종 미묘한 에러를 발생시킨다.
2. Conversion Operator를 이용할 때 임시 변수를 생성하고 결과를 처리하고 사라지므로 가비지 컬렉터에서도 수집이 안된다.
대신에 변수를 선언해서 생성자를 이용해서 초기화 하고 사용하면 부작용 없이 사용이 가능하다
3. 사용하지 마라!!
■ Terms
■ 해석이 모호하거나 중요한 구문
1. Worse, if your conversion operator returns a temporary object, the side effects will modify the temporary object
and be lost forever to the garbage collector.
2. If you want to convert another type into your type, use a constructor.
This more clearly reflects the action of creating a new object.
■ 단어
1. substitutability : 대체성
2. subtle : 미묘한, 감지하기 힘든
3. invoke : 적용하다,들먹이다.
4. reflect : 비추다/반사하다/나타내다
■ 피드백
-꼭 필요한 경우가 아니라면, 사용하지 말자!.
'프로그래밍 > Effective C#' 카테고리의 다른 글
ITEM 11 :작은 함수들의 매력을 이해하라. (0) | 2014.05.30 |
---|---|
ITEM 10 : 메소드 Overload를 최소화 하기 위해서 Optional Parameter를 사용하라 (0) | 2013.08.23 |
ITEM 8 : Loop 구문보다 Query Syntax를 이용하라. (0) | 2013.08.23 |
ITEM 7 : GetHashCode의 함정을 이해하라. (0) | 2013.07.11 |
ITEM 6 : Equality의 다양한 다른 의미들의 관계를 이해하라. (0) | 2013.07.11 |