Java에서 Null Pointer Exception(NPE)를 피하는 방법 - Project-DORY/Dory-core GitHub Wiki

이렇게 합니다.

1. NULL은 비즈니스 로직에서 검사하지 않는다.

비즈니스 로직으로 들어오는 모든 Object는 null이 아니라는 보장이 되어야 한다. 만약 들어온다면, 정상적인 상황이 아닌 것이고 에러를 띄워야 한다.

2. 빈 배열을 리턴할때 널이 아니라 길이가 0인 배열을 리턴한다.

이렇게 하면 기존 배열을 탐색하는 로직에 추가적인 null 체크를 하지 않아도 에러를 내지 않고 정상적으로 실행할 수 있다.

3. String을 비교할 때, 비교를 수행하는 객체로 null이 아닌 객체를 사용한다.

String name = "민수"; name.equals("철수"); 가 아니라 "철수".equals(name); 을 사용하자.

참고1. http://softwaregarden.io/avoiding-null-checks-in-java/ 참고2. http://winterbe.com/posts/2015/03/15/avoid-null-checks-in-java/