2009-10-03 5 views
1

한편으로는 튜플이 다재다능하지만 다른 한편으로 덜 명확 할 수 있습니다.C에서 Tuple을 사용하는 메소드의 수정 자 #

공용 메서드의 반환 형식에 튜플을 사용하면 안됩니다. 마찬가지로 공용 메소드의 매개 변수 유형에 사용하면 안됩니까?

즉, 보호 된, 내부 및 개인 메서드의 선언에서만 사용해야합니까?

답변

1

문제는 공개되지 않습니다 v 개인적으로 문제는 단순히 '좋은 API 디자인이란 무엇인가'입니다. 저는 C# API에서 Tuple을 거의 사용하지 않을 것이라고 생각합니다. 드문 경우지만 반환 유형 (여러 항목을 반환하려는 경우)이 가장 일반적으로 사용됩니다. 그러나 지나치게 일반적인 규칙 ("어리석은 일관성 ...")으로 지나치게 처방되지 않아야합니다. 각각의 상황에 맞는 일을하십시오. 매개 변수에서 사용하는 경우가있을 수 있습니다 (특히 다른 언어와의 interop).

+0

답장을 보내 주셔서 감사합니다. Brian. 나에게있어 "공용 v 개인"과 "좋은 API 설계"의 차이점은 차이가없는 구별입니다. API의 공용 부분을 선언하는 것은 아니기 때문에 (사용자 자신의 소비에도 불구하고)? 어쨌든 당신의 질문을 끝내면 문제의 핵심에 도달하게됩니다 ... 유틸리티가 최종적으로 스스로 문서화 된 코드에서 승리 할 수 ​​있기 때문에 그것을 보증 할 수있는 상황에서 공개적으로 사용하는 것이 "괜찮습니다"라고 생각합니다. 그러나 나는 필연적으로 반대되는 의견이 아닙니다 ... –

1

과 같은 "원시"컬렉션 유형과 동일한 지침을 사용하는 경향이 있습니다. 좀 더 강하게 입력 된 것을 사용하십시오. 자체 내부 메서드는 괜찮지 만 공용 입력 또는 출력 값으로 더 도메인 특정 유형을 사용하십시오.

+0

+1 이것은 내가하는 일입니다. –

관련 문제