더북(TheBook)

또한 Astronaut은 실제 이름을 가져야 하니 빈 문자여도 안 됩니다. name.trim() 호출은 문자열 앞뒤 공백이나 탭과 같은 여백 문자를 모두 제거합니다. trim() 호출 후 남아 있는 문자열이 실제 문자열 시퀀스가 됩니다.

코드에 기능상 오류는 없습니다. 항상 그렇듯 코드가 너무 복잡하고 읽기 어렵다는 것이 문제죠. 더 좋아질 수 있는데도요. 꼭 집어 말하면 if 문은 정말 쓸데없습니다. 실제 의미를 흐리기만 하는 지저분한 코드죠.

그러면 무엇을 바꿀 수 있는지 봅시다! 비결은 메서드 반환 타입인 불입니다. 불을 반환할 때는 전체 항목을 if 문으로 감쌀 필요 없이 아래처럼 값을 바로 반환할 수 있습니다.

class Astronaut {

    String name;
    int missions;

    boolean isValid() {
        return missions >= 0 && name != null && !name.trim().isEmpty();
    }
}

이렇게 바꾸면 한 단계 들여쓰기할 필요도, 분기문을 둘 필요도 없습니다. 매우 간결하고 훨씬 읽기 쉽습니다!

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.