1 주차
목, 금 | Assignment #06
- 📚 4장. 주석
- ✔️ TIL
// 직원이 복지 혜택을 받을 자격이 있는지 검사
if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))
if (employee.isEligibleForFullBenefits())
// Copyright (C) 2022 by Meun, Inc. All rights reserved.
// GNU General Public License 버전 2 이상을 따르는 조건으로 배포한다.
리턴 값
, 정규식
등 기본적인 정보를 주석으로 제공하면 편리함, 하지만 함수명 등 코드에 의미를 더 담을 수 있다면 개선하여 주석을 사용하지 않도록 함// 테스트 중인 Responder 인스턴스를 반환한다.
protected abstract Responder responderInstance();
public int compareTo(Object o) {
(중략)
return 1; // 오른쪽 유형이므로 정렬 순위가 더 높다.
}
assertTrue(a.compareTo(a) == 0); // a == a
assertTrue(a.compareTo(a) != 0); // a != b
// SimpleDateFormat은 스레드에 안전하지 못하다.
// 따라서 각 인스턴스를 독립적으로 생서앻야 한다.
SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
// TODO: 추후에는 ~를 도입하여 사용할 것
// 여기서 trim은 중요함, 문자열에 시작 공백이 있으면 다른 문자열로 인식되기 때문
String ListItemContent = match.group(3).trim();
JavaDocs
나쁜 주석 (p.75)
주절거리는 주석 : 이해가 되지 않아 독자와 제대로 소통하지 못하는 주석은 바이트 낭비임
같은 이야기를 반복하는 주석 : 코드를 그대로 설명하는 주석은 코드보다 더 많은 정보를 제공하지 못함
오해할 여지가 있는 주석 : 코드와 다른 진실을 말하는 주석은 오해를 불러옴
의무적으로 다는 주석 : 모든 함수에 JavaDocs
를 달거나 모든 변수에 주석을 다는 것은 코드를 복잡하게 만들고 무질서를 초래함
이력을 기록하는 주석 : VCS
가 없었을 당시에는 관례였으나 현재는 완전히 필요 없음
있으나 마나 한 주석 : 너무나 당연한 사실을 언급하며 새로운 정보를 제공하지 못하는 지나친 참견과 같으며, 개발자가 주석을 무시하는 습관을 가지게 함
함수나 변수로 표현할 수 있는 주석 : 개선이 가능하다면 코드를 개선하고 주석을 지양해야 함
위치를 표시하는 주석 : // Actions /////////////////////////////////
와 같은 주석은 일반적으로 가독성만 낮추므로 제거해야 함
닫는 괄호에 다는 주석 : 닫는 괄호에 해당 구문(while
, try
, catch
등)을 주석으로 남기는 대신 함수 길이를 줄여야 함
공로를 돌리거나 저자를 표시하는 주석 : 이러한 정보는 소스 코드 내 주석이 아닌 VCS
로 관리해야 함
주석으로 처리한 코드 : 이와 같은 코드는 다른 사람들이 이유가 있어 남겨놓은 것으로 생각하여 지우기를 주저함, 이전 코드는 VCS
에서 다시 확인이 가능함
HTML 주석 : 툴을 통하여 주석을 웹 페이지로 정리할 것이라면, 주석에 태그를 삽입하는 책임은 프로그래머가 아니라 도구가 져야 함
전역 정보를 기술한 주석 : 코드 일부에 주석을 달면서 시스템의 전반적인 정보를 기술하지 말아야 함
너무 많은 정보를 담은 주석 : 해당 기술의 역사 등 TMI
를 주석으로 작성 금지
코드와 모호한 관계를 가진 주석 : 코드를 설명하기 위한 주석이 다시 설명을 필요로 하면 안됨
함수 헤더 설명을 담은 주석 : 짧고 한 가지만 수행하며, 이름을 잘 붙인 함수가 더 나음
비공개 코드의 Javadocs
: 공개하지 않을 코드에는 필요하지 않음
Commit
해도 문제 없겠지???' 란 생각을 하며 한참 고민했던 기억이 났다. 서비스단 코드에 Javadocs
가 모든 메소드에 기재되어 있어 해당 소스 파일의 관례를 따랐던 적이 있었는데 추후에는 가급적 정리하는 방향으로 업무를 진행해야겠다고 생각했다.