2010-05-05 12 views
2

정말 대단한 주관적인 주제이지만 여기에 현재 걸리는 내용이 있습니다.C# 4.0 명명 된 매개 변수 - 비 Framework 메서드를 호출 할 때 항상 사용되어야합니까?

.NET BCL 명명 된 매개 변수의 일부를 구성하지 않는 메서드를 호출 할 때는 항상 메서드 시그니처가 변경 될 수 있습니다. 내 응용 프로그램의 개발주기.

더 자세한 내용이 표시 될 수 있지만 훨씬 더 명확합니다.

위의 방법을 호출하는 합리적인 접근법이나 내가 뭔가 근본을 간과하고 있습니까?

답변

3

개인적으로는 맨 위에 있다고 생각합니다. 많은 경우에

의미는 메소드 이름에서 명확한 결정은 - (즉, 선언의 일부로서, 항상 이름을 가지고있는 매개 변수 나는 또한 그들이 인수를라는 이름의 전화를 더 정확하고 명확하다고 믿습니다.) - 특히 몇 가지 주장이있는 경우. 왜 이름을 추가해야합니까? 이름이 바뀔 수 있다는 사실이 왜이 사실에 영향을 미칩니 까?

나는 것 명명 된 인수를 사용하는 것이 좋습니다 :

선택적 매개 변수도 사용되는
  • 가 동일한 유형의 여러 매개 변수가 있습니다, 그래서 그들은 (예 : 대화 상자의 제목과 내용을 혼동 할 수
  • 텍스트)
  • 당신이 인수에 대해 null를 사용하고, 그리고 달리 말하면

을 무엇을하고 있는지 분명하지 않다 때, 얼마나 자주했다 없음 명명 된 인수를 사용하면 C# 4 이전에 혼동을 일으킬 수 있습니까? 제 경우에는 확실히 0이 아닌 수입니다 - 위의 상황은이됩니다.하지만 정기적으로 내 방식대로 진행되는 것은 아닙니다. 선택적 매개 변수는 메소드 (또는 특히 생성자)가 잠재적으로 많은 매개 변수를 갖는 것이 더 합리적이되고, 명명 된 인수가 더 유용합니다 (이전 인수를 생략 한 "지연"선택적 매개 변수를 지정하려는 경우 실제로 필요합니다).

+0

분명히 '이름 지정된 주장'이라고 부르는 것에 대해 좋은 지적입니다.하지만 나는 그것이 힘든 전투가 될 것이라고 생각합니다. 필자는 모든 대형 비즈니스 개체 (예 : DataReader)를 구성하기 위해이 개체를 사용하기 시작할 것이라고 생각하지만 모든 메서드 호출에이 개체를 사용할 필요는 없습니다. –