나는 여기에 추천을 찾고 있습니다. 반환 값이 없거나 확인할 수없는 경우 NULL 또는 빈 값을 메서드에서 반환하는 것이 더 나은지 여부에 어려움을 겪고 있습니다.
다음 두 가지 방법을 예로 들어 보겠습니다.
string ReverseString(string stringToReverse) // takes a string and reverses it.
Person FindPerson(int personID) // finds a Person with a matching personID.
에서 ReverseString()
, 나는 반환 형식은 문자열이기 때문에 발신자가 기대되도록, 빈 문자열을 반환 말할 것입니다. 또한이 방법으로 호출자는 NULL이 반환되었는지 확인하지 않아도됩니다.
에서 FindPerson()
NULL을 반환하는 것이 더 적합합니다. NULL 또는 비어있는 Person Object ( new Person()
)가 반환 되는지 여부에 관계없이 호출자는 Person 객체에 대해 아무것도 수행하기 전에 (Person 호출과 같은 UpdateName()
) Person 객체가 NULL인지 비어 있는지 확인해야합니다 . 왜 여기서 NULL을 반환하고 호출자가 NULL 만 확인하면 안됩니까?
다른 사람이 이것으로 어려움을 겪고 있습니까? 도움이나 통찰력이 있으면 감사하겠습니다.