나쁜 코드 지우기 방법
* 주석
C1. 부적절한 정보
- 다른 시스템에 (예를 들어, 소스코드 관리 시스템, 버그 추적 시스템, 이슈 추적 시스템, 기타 기록 관리 시스템에) 저장할 정보는 주석으로 적절하지 못하다
예를 들어, 변경 이력은 장황한 날짜와 따분한 내용으로 소스 코드만 번잡하게 만든다
일반적으로 작성자, 최종 수정일, SPR(Software Problem Report) 번호 등과 같은 메타 정보만 주석으로 넣는다
주석은 코드와 설계에 기술적인 설명을 부연하는 수단이다
C2. 쓸모 없는 주석
- 오래된 주석, 엉뚱한 주석, 잘못된 주석은 더 이상 쓸모가 없다 주석은 빨리 낡는다
쓸모 없어질 주석은 아예 달지 않는 편이 가장 좋다 쓸모 없어진 주석은 재빨리 삭제하는 편이 가장 좋다
쓸모 없어진 주석은 일단 들어가고 나면 코드에서 쉽게 멀어진다 코드와 무관하게 혼자서 따로 놀며 코드를 그릇된 방향으로 이끈다
C3. 중복된 주석
- 코드만으로 충분한데 구구절절 설명하는 주석이 중복된 주석이다
다음 주석이 좋은 예다
i++; // i 증가
또 다른 예가 함수 서명(signature)만 달랑 기술하는 Javadoc 이다
/**
* @param sellRequest
* @return
* @throws ManagedComponentException
*/
public SellResponse beginSellItem(SellRequest sellRequest)
throws ManagedComponentException
주석은 코드만으로 다하지 못하는 설명을 부언한다
C4. 성의 없는 주석
- 작성할 가치가 있는 주석은 잘 작성할 가치도 있다 주석을 달 참이라면 시간을 들여 최대한 멋지게 작성한다
단어를 신중하게 선택한다 문법과 구두점을 올바로 사용한다 주절대지 않는다
당연한 소리를 반복하지 않는다 간결하고 명료하게 작성한다
C5. 주석 처리된 코드
- 코드를 읽다가 주석으로 처리된 코드가 줄줄이 나오면 신경이 아주 거슬린다
얼마나 오래된 코드인지, 중요한 코드인지 아닌지, 알 길이 없다 그럼에도 아무도 삭제하지 않는다
누군가에게 필요하거나 다른 사람이 사용할 코드라 생각하기 때문이다
그래서 코드는 그 자리에 남아 매일매일 낡아간다 더 이상 존재하지 않는 함수를 호출한다
이름이 바뀐 변수를 사용한다 더 이상 사용하지 않는 표기법을 따른다 자신이 포함된 모듈을 오염시킨다
읽는 사람을 헷갈리게 만든다 주석으로 처리된 코드는 흉물 그 자체다
주석으로 처리된 코드를 발견하면 즉각 지워버려라 걱정할 필요가 없다 소스 코드 관리 시스템이 기억하니까
누군가 정말로 필요하다면 이전 버전을 가져오면 되니까 주석으로 처리된 코드를 내버려 두지 마라