리오집사의 기억저장소

코드 수준 문서에서 가장 큰 공헌을 하는 것? 주석 이전에, 좋은 프로그래밍 방식이 필요하다.

-좋은 프로그램 구조

-직관적이고 이해가 쉬운 접근 방법의 이용

-좋은 변수 이름

-좋은 루틴 이름

-리터럴 대신 명명된 상수 사용

-명확한 배치

-제어 흐름과 데이터구조 복잡성 최소화


<주석에 대해>

-남이 달아놓은 주석을 너무 맹목적으로 믿지 말자. (서투르게 작성되기 쉬운게 주석이다.)

-추가적인 정보는 제공하지 않고 읽어야 하는 양만 늘리는 주석은 금물

-복잡하거나 어려운 코드를 주석으로 설명하려하기 보다는, 먼저 코드 자체를 명확하게 만들고 향상시키자.

-표시 주석에 '아직 구현되지 않음!' 과 같은 주석 금물. to do 같은 태그 이용

-코드를 한두줄로 요약하는 주석은 단순히 코드를 반복하는 주석보다는 훨씬 가치가 있다.

-많은 작업이 필요한 주석 작성 방식은 유지 보수 시 골칫거리다. (갱신되지 않은 주석은 정확하지 않거나 오해의 소지만 낳는다.)

-의사코드를 주석으로 작성하는 것도 좋은 방법이다. (코딩 전 사고가 명확해지고, 설계가 단순해지고, 코드 작성이 좀 더 직관적이고 주석은 자동으로 완성될 것이다.)

-성능 때문에 주석을 작성하지 않는다? -> 개발자 버전과 릴리즈 코드 버전을 다르게 생성하라. 툴 이용 등

-줄 끝 주석의 경우 대부분 이롭기보다는 해로운 경우가 많다. (예외, 데이터 선언, 블록의 끝 표시)

-단순 코드를 반복하는게 아닌, 코드 단락이 의도하는 바를 설명하는 주석은 관리도 쉽고 좋다.

-코드만 읽어서는 절대로 유추할 수 없는, 정보를 나타내는 주석은 좋다. ( //명령어 종결자($)를 찾는다.  >  // inputString에서 '$'를 찾는다. )

- // 만약 account flag가 0이라면,  이런 주석이 왜 필요한가? 필요없다. 코드 자체에서 이미 말해주고 있는 내용이다. ->//만약 새로운 계정을 만들어야 한다면,  ->//새로운 계정을 개설한다.

-생략하지 말기. 주석은 생략된 내용을 이해하려는 노력없이 명백하고 읽기 쉬워야 한다. 매우 일반적인 생략을 제외하고는 생략을 하지 않아야 한다.

- 메이저 주석(//테이블에 있는 문자열을 복사한다.)   마이너 주석(//...테이블에 있는 문자열의 수를 결정한다.)

-언어와 개발 환경에서의 오류나 문서화되어 있지 않은 기능에 관한 내용을 주석으로 작성한다(예를들어, blockSize가 500인 경우에 대해서 특별히 처리한 이유에 대한 기록을 남긴다던가)

-입력 데이터의 한계를 주석으로 작성하라.

-비트 수준의 플래그는 반드시 문서화한다.

-전역 데이터를 문서화한다. 

-Javadoc과 같은 코드 문서화 유틸리티를 활용하라


반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band