: 느낀 부분은 우리가 느끼기에 주석은 부가적인 요소가 강하다, 결국은 코드에 기반하여 프로그램이 실행되는 것이므로 주석을 크게 신경쓰지 않게된다는 인식을 기반으로 이해했다.
주석은 나쁜 코드를 보완하지 못한다.
: 나쁜 코드라는 근본적인 문제를 임시적인 주석으로 해결하려하지 말자, 근본적인 코드를 수정하자.
코드로 의도를 표현하라.
: 조금만 더 생각한다면 코드로 의도를 표현할 수 있다. 특정 조건문의 경우, 해당 조건문을 메소드로 추출하여 네이밍을 붙인다든지 말이다.
: 객체지향적으로 생각해보자.
좋은 주석
: 주석이 모든 상황에서 악인 것은 아니다. 어떤 주석은 필요하거나 유익하다.
•
법적인 주석
•
정보를 제공하는 주석 → 정규표현식이 반환하는 결과 등, 직관적이기 힘든 코드를 설명하는 주석
•
의도를 설명하는 주석 → 맥락이 부족할 때, 저자의 의도를 설명하는 주석
•
의미를 명료하게 밝히는 주석
•
결과를 경고하는 주석 → 실행시간이 길다거나, 어떠한 사이드 이펙트가 발생할 수 있을 때, 이를 알려주는 주석
•
TODO 주석 → 해야하는 일을 표시해둔 주석
•
중요성을 강조하는 주석 → 대수롭지 않다고 여겨질만한 코드의 중요성을 설명하기 위한 주석
•
공개 API에서 Javadocs
나쁜 주석
: 대부분의 주석이 이에 속한다.
•
주절 거리는 주석 → 특별한 이유없이 작성한 주석
•
같은 이야기를 중복하는 주석 → 코드의 내용을 다시한번 설명하고 있는 주석
•
오해할 여지가 있는 주석 → 단어를 적절히 선택하지 못했을 경우, 그 의도대로 설명하지 못하기도 한다.
•
이력을 기록하는 주석
•
있으나 마나 한 주석
•
함수나 변수로 표현할 수 있는 주석
•
위치를 표시하는 주석 → // Action, // Update 등
•
닫는 괄호에 다는 주석
•
주석으로 처리된 코드
•
HTML 주석..
•
전역 정보
•
너무 많은 정보
•
모호한 관계
•
함수 헤더
•
비공개 코드에서 Javadocs