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

    대부분의 주석은 코드가 전하는 내용을 반복할 뿐이니 불필요합니다. 주석 두 개는 필드와 메서드를 명시하는데 자바 문법만 보아도 잘 알 수 있죠. 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; 
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.