2013-09-05 2 views
1

저는 새로운 직장에서 동료 파트너와 함께 프로그래밍을 해왔고 새로운 방법을 코딩하는 것을 보았습니다. 이 메소드는 객체를 받았으며 그 이유를 물었을 때 매개 변수 유효성 (! = null 등) 을 확인하지 않았습니까? 그는 "의도적으로"null 객체 매개 변수가있는 경우 (그리고 그렇게해서는 안된다.) 비참하게 실패하고 오류를 삼키지 않기를 바란다 "고 그는 대답했다.예외 및 유효성 검사의 관련성

동의하십니까? 유효성 검사는 언제해야합니까? 그리고 나는 그들과 얼마나 깊이 가야 하는가? 내 말은 내가 널 포인터 유효성뿐만 아니라 대부분의 함수에 대해 수백만 유효성 검사를 생각할 수 있다는 것을 의미한다.

+0

내 의견으로는, 그 방법이 무엇을위한 것인가에 달려 있습니다. 나를위한 내부 서브 루틴은 아주 약해서 쉽게 끊기고 호출 코드에 오류 처리를 남겨 둡니다. 외부에서 볼 수있는 루틴은보다 강력하고 모든 매개 변수 검사를 수행합니다. – dwarduk

답변

0

문제는 생성 된 예외가 무딘이되고 코드로 파고 들지 않고 디버그하기 어렵다는 점이다.

또는 사례를 확인하고 멋진 예외 메시지를 제공 할 수 있습니다. 다음과 같은 방법 서명을 감안할 때

:

public void DoStuff(MyObj obj); 

는 "DoStuff가 기능하여 MyObj의 인스턴스가 필요합니다"

"개체 참조가 설정되지 않음보다 훨씬 좋네요 개체의 인스턴스에 "

관련 문제