저는 저장소와 같은 추상화를위한 API를 개발 중입니다. 나는 두 가지 방법이 있습니다Get() 메서드의 변형 이름은 무엇입니까?
// Throws an exception if object cannot be found
MyObj Get(MyIdType id);
// Returns false if object cannot be found; no exception
bool TryGet(out MyObj obj);
세 번째 변형에 대한 요구 사항이 있습니다 : 개체를 찾을 수없는 경우 null을 반환하고, 예외가 발생하지 않는 한.
// Returns null if object cannot be found; no exception
MyObj ?????(MyIdType id);
나는 무엇에 이름을 붙였습니까? GetOrDefault은 혼란 스럽습니다. GetIfNotNull이 제안되었지만 명확하지 않은 것으로 보입니다. GetOrNull은 지금까지 가장 유망한 제품입니다.
누구나 다른 제안이 있거나 따라야 할 규칙이있는 공개 API를 알고 있습니까?
하지 마십시오. 그들에게 Get과 TryGet으로 충분하다고 설득하십시오. Null은 악마입니다. – TrueWill
.Net의 맛? – IAbstract
나는 그들이 null 인 경우 Get()에서 예외를 throw하기를 원한다고 더욱 화가났습니다. 그것은 끔찍한 일입니다. –