나는 수학과 같이 값의 간격에 대한 컨테이너 여야하는 클래스를 만들어야합니다. 이미 내부적으로 SortedSet
을 사용할 것이라고 결정했습니다.SortedSet을 반환하는 메서드의 반환 유형을 결정하는 데 문제가 있습니다.
내가 구현해야하는 것 중 하나는 "간격의 모든 요소가있는 정렬 된 집합을 가져 오는"메서드입니다.
class Interval {
private SortedSet sortedSet = new something();
...
<<method that should return an ordered set of values>>
}
내 질문은 메소드의 반환 타입과 이름을 모두해야한다 무엇에 있습니다. 몇 가지 가설이 발생할 : 나는 내부적으로 SortedSet
을 사용하고
SortedSet getSortedElements();
, 그래서 유형을 반환해야합니다. 방법의 이름에 그 의도를 기술해야합니다.SortedSet getElements();
나는 내부적으로SortedSet
을 사용하고 있지만 메서드 이름에는 그 점을 명시하지 않아도됩니다. (이 점에서 큰 점은 없습니다).Set getElements();
나는 항상 가장 기본적인 유형을 반환하려고 노력해야하므로 Set을 반환합니다. 방법의 계약과 정의에 따라 사람들은 이미 모든 요소가 순서에 있음을 알고 있습니다.Set getSortedElements();
메소드 반환 유형에 대해서는 위와 동일합니다. 메서드 이름에 관해서는이 메서드가 반환 할 내용, 즉 정렬되는 요소 집합을 명확하게 설명하고 있습니다.
나는 4.
을 사용하려고하지만 다른 것들도 괜찮아 보입니다. 분명한 승자가 있습니까? 왜?
질문이 이해가 가지 않습니다. SortedSet은'public SortedSet subSet (E fromElement, E toElement)' –
Pyrolistical
Re로 이미 필요한 것을 구현합니다. 메소드의 이름 인 "Elements"가 너무 일반적입니다. 메소드 이름이 더 구체적이어야합니다. " 요소"... 특히 언젠가 다른 콜렉션을 클래스에 추가해야하는 경우 getElements가 모호 해집니다. –
inor