ITEM 10 : Use Optional Parameters to Minimize Method Overloads.
(메소드 Overload를 최소화 하기 위해서 Optional Parameter를 사용하라)
■ 요약 및 장점
1. Optional Parameter를 사용하면 호출하는 쪽에서 의미 없는 값을 넘길필요가 없게된다.
함수에서 기본값들을 설정해서 처리한다. 이렇게 함으로써, 호출부의 가독성을 향상시키고
불필요한 변수들을 넘길 필요가 없으므로 속도도 향상된다.
//Optional Parameter가 사용된 함수 private string Proceduer1(string name,bool type=false) { //생략.. } //사용, 같은 결과를 리턴한다. Proceduer1("홍길동"); Proceduer1("홍길동",false);
2. Named Parameter를 이용하면 호출부의 가독성이 증가가 되지만, 그 함수가 속한 Component에서
파라미터명이 변경되었을 때 재빌드를 할 경우 오류가 발생한다.
3. 함수에 새로운 파라미터를 추가 할때에 기존에 호출부에서는 재빌드를 해서 값을 넘겨주지 않으면 오류가 발생한다.
이런경우를 대비해서 Optional Parameter를 이용해서 기본값을 설정해서 확장할 때 기존의 참조를 유효하게 처리해야한다.
■ Terms
1. named parameter : 함수를 호출할 때 파라미터의 이름과 함께 데이터를 넘기는것,
Object-C에서 [window addNewControlWithTitle:@”title” xPosition:20 yPostion:30] 이렇게 사용된다.
C#에서는 보통 데이터만 전달된다. 최근에는 named parameter를 지원한다.(.NET 4.0)
■ 해석이 모호하거나 중요한 구문
■ 단어
1. clutter : 채우다
2. annotate : 주석달다
3. manifest : 나타내다/나타나다,분명해지다.
■ 피드백
-위의 일반적인 경우외에도 함수 오버로딩(Overloding)이 필요할때, Optional Parameter로 해결될 수 있으면, Optional Parameter를 이용하자.
'프로그래밍 > Effective C#' 카테고리의 다른 글
ITEM 12 : 할당문 보다 멤버 초기화를 선호해라 (0) | 2014.05.30 |
---|---|
ITEM 11 :작은 함수들의 매력을 이해하라. (0) | 2014.05.30 |
ITEM 9 : Conversion Operator를 회피하라. (0) | 2013.08.23 |
ITEM 8 : Loop 구문보다 Query Syntax를 이용하라. (0) | 2013.08.23 |
ITEM 7 : GetHashCode의 함정을 이해하라. (0) | 2013.07.11 |