2007/06/09 19:06 Developer
Defensive Programing : Head Fisrt OOAD
Defensive Programing라는 단어를 보는 순간 어떤 생각이 드는가?
다른 사람이 만든 API를 믿을 수 있는가? 그리고, 자신이 만든 API를 신뢰를 할수 있는가?
특히 객체지향으로 개발을 하다보면 무심코 넘어가기 쉬운 것중의 하나가 객체의 null값 체크이다. 이것은 잘해주면, 좀더 견고한 코드가 될 것이다.
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/NullPointerException.html
만약, properties라는 객체가 있다면,
이게 바로 Defensive Programing이다. 코드가 좀 길어지는 단점이 있고, 널패턴이 적용된 것을 인지하고 있지않다면, API를 사용하는 클래스에서는 반드시 체크하는 로직을 넣어주자.
수많은 오류들을 미연해 방지할 수 있고, 디버깅하느라 고생을 안해도 된다.
P.464 Defensive Programing
다른 사람이 만든 API를 믿을 수 있는가? 그리고, 자신이 만든 API를 신뢰를 할수 있는가?
특히 객체지향으로 개발을 하다보면 무심코 넘어가기 쉬운 것중의 하나가 객체의 null값 체크이다. 이것은 잘해주면, 좀더 견고한 코드가 될 것이다.
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/NullPointerException.html
만약, properties라는 객체가 있다면,
if(properties == null){
throw new NullPointerException("properties is null");
}
properties.get("name");
throw new NullPointerException("properties is null");
}
properties.get("name");
이게 바로 Defensive Programing이다. 코드가 좀 길어지는 단점이 있고, 널패턴이 적용된 것을 인지하고 있지않다면, API를 사용하는 클래스에서는 반드시 체크하는 로직을 넣어주자.
수많은 오류들을 미연해 방지할 수 있고, 디버깅하느라 고생을 안해도 된다.
P.464 Defensive Programing
