반응형
실용주의 프로그래머
-
함수 인자 유효성 검사는 누구의 책임인가?Programming 2008. 9. 4. 08:44
함수를 만들다보면 함수의 인자값에는 선행조건이 항상 붙습니다. 예를 들면 int func(char* a); 위와 같은 포인터형태는 보통 a != null 이라는 선행조건이 붙는데.. 이때 과연 해당 함수를 호출하는 호출자가 해당조건을 검사해야하는지 아니면 함수내에서 조건을 검사해야하는지 항상 함수를 만들때마다 고민을 하면서 쉽게 결정하지 못할때가 많았습니다. 그러던 어느날 "실용주의 프로그래머" 라는 책의 본문에 제가 고민하던 문제에 대한 도움이 될만한 내용보게 되었습니다. 누구의 책임인가? ( 실용주의 프로그래머 - p.193) 호출자와 호출되는 루틴 중에 선행조건을 확인하는 것은 누구의 책임인가? 언어의 일부로 구현되어 있는 경우, 대답은 어느 쪽도 아니다 이다. 선행조건은 호출자가 루틴을 부른 뒤,..