더북(TheBook)

코드를 쭉 읽어보면 문서화가 매우 잘 되었다고 생각할지도 모르겠습니다. 코드 품질 도구도 주석 측면에서 이 코드를 “훌륭함”이라고 표시하겠죠. 하지만 사실이 아닙니다.

대부분의 주석은 코드가 전하는 내용을 반복할 뿐이니 불필요합니다. 주석 두 개는 필드와 메서드를 명시하는데 자바 문법만 보아도 잘 알 수 있죠. IF 끝이나 FOR 끝, Inventory 클래스 끝과 같은 주석은 코드 블록의 끝을 표시합니다. 이것은 들여쓰기만으로도 이미 알 수 있죠.

가장 중요한 주석은 아마도 TODO: 필드가 이미 초기화되었는지(널이 아닌지) 검증한다일텐데요. 코드와 확연히 다른 실제 문제를 보여줍니다.

훨씬 더 간결하게 만들 수 있습니다! 아래를 보세요.

class Inventory {

    List<Supply> supplies = new ArrayList<>();

    int countContaminatedSupplies() {
        if (supplies == null || supplies.isEmpty()) {
            // 제품이 없으면 오염도 없다는 뜻이다
            return 0;
        }

        int contaminatedCounter = 0;
        for (Supply supply : supplies) { 
            if (supply.isContaminated()) { 
                contaminatedCounter++; 
            } 
        }

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