답변:
사용의 문제점 Tuple
은 일반 유형 매개 변수가 의미를 전달하지 않는다는 것입니다.
가독성을 위해 명명 된 멤버와 함께 사용자 정의 클래스 또는 익명 유형을 사용하는 것이 좋습니다.
T1
, T2
그들이 무슨 뜻인지 알려하지 않는다 등.
GetTopTwoPercentages()
를 반환하는 메소드가 있다고 가정 해 봅시다 Tuple<decimal, decimal>
. 충분히 명확 할 것입니다.
가장 중요한 코드 품질 중 하나는 가독성입니다. 그래서 스스로에게 물어보십시오 :
내가 (즉, 다른 사람에서) 메소드 서명을 볼 때, 각각의 구성 요소가 무엇을 의미하는지 알고 Tuple
있습니까?
예를 들어, 반환하는 수레 쌍이 극좌표 세트 인 경우 이것이 분명합니까?
이것은 분명하다 :
Tuple<Float, Float> getPolarCoords();
이것은 직교 좌표를 가정하기 때문에 오도의 소지가 있습니다.
Tuple<Float, Float> getCoords();
그리고 이것은 의미가 없습니다.
Tuple<Float, Float> getTuple();
따라서 일반적으로, 당신은 경우에 따라 명확성을 평가하고 필요한 경우 리팩토링합니다. Tuple
여러 장소에서 와 같은 종류의 데이터를 나타내는 경우 클래스를 만드는 것이 좋습니다.