You are a developer, not a coder.

COLLECTIONS.EMPTY_LIST 본문

Backend-Languages/Java

COLLECTIONS.EMPTY_LIST

Mattmk 2020. 12. 15. 11:37
SMALL

우리가 흔히 저지르는 오류를 유발하는 행위중 첫번째는 null을 반환하는 습관이다.

한줄 건너 하나씩 null을 확인하는 코드로 가득한 애플리케이션을 지금까지 수도 없이 봤다.

누구 하나라도 null 확인을 빼먹는다면 애플리케이션이 통제 불능에 빠질지도 모른다.

그러므로, 이 행위는 나쁜코드에 속한다.

 

다음과 같이 Collections.emptyList() 를 사용한다면, 빈값으로 전달해 줄 수가 있다.

public List<User> findAllUsers(){
    List<User> userList = userService.findAll();
    
    if(userList == null){
        return Collections.<User>emptyList();
    }
    
    return userList;
}

 

 List에 값이 비어있으면, 빈값의 리스트를 전달해 줌으로써

 이 데이터를 전달받은 상위객체에서는 null을 판단하는 불필요한 조건문을 생략할 수 있다.

 또한, null체크 하는 if 문의 조건식을 최상단에 두었다.

 비어있다는 조건문을 선행으로 걸고, 빈값을 리턴하는 프로세스로 코드를 짠다면

 다른 개발자가 보기에도 소스코드가 간결하며, 조건문에 안맞는 불필요한 소스코드를 JVM에서 걸러내는 불필요한 작업이 필요하지 않다.

 이는 JVM의 메모리를 적게사용하게 하는 좋은 습관이라고 한다.

LIST
Comments