코드를 쭉 읽어보면 문서화가 매우 잘 되었다고 생각할지도 모르겠습니다. 코드 품질 도구도 주석 측면에서 이 코드를 “훌륭함”이라고 표시하겠죠. 하지만 사실이 아닙니다.
대부분의 주석은 코드가 전하는 내용을 반복할 뿐이니 불필요합니다. 주석 두 개는 필드와 메서드를 명시하는데 자바 문법만 보아도 잘 알 수 있죠. 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; } }