프로그래밍

주석에 대한 생각

업글 2020. 10. 19. 23:44

안녕하세요 업글입니다. 주석에 대한 저의 의견을 작성해보고자 합니다.

 

회사 선배에게 주석이 많으면 좋을까? 적으면 좋을까?라는 질문을 받은적이 있습니다.

 

저는 당시 주석을 꼼꼼하게 많이 다는 것이 좋다라고 대답하였습니다.

회사 선배의 의견을 저의 의견과 반대로 주석이 없는 코드가 가장 좋은 코드라고 답했었습니다.

코드만 보고도 가독성이 좋아서 바로 이해할 수 있는 코드는 주석이 필요 없다라는 의견이었습니다.

당시 완전 공감할 수는 없었지만 공감이 되는 부분도 있었습니다.

저와 같이 공감하시는 분도 계실 것이고 공감을 못하시는 분도 계실 것이라 생각됩니다.

 

현재 제가 주석을 다는 몇가지 방법이 있습니다.

 

첫번째, 최대한 주석 없이 이해할 수 있도록 변수, 함수명을 잘 정해야 한다.

 

예를 들어서 클라이언트와 연결된 경우 데이터를 송신하는 경우

예제1보다 예제2에서 이해가 빠를 것이다.

 

예제1.

if(ConnectionFlag == SET){

 Send(data);

}

 

예제2.

if(IsClntConnected == YES){

 SendToClnt(data);

}

 

두번째, 상수는 define으로 의미를 표현하며 표현이 불가능하거나

자세히 표현 해야하는 경우 근거 및 히스토리에 대해서 주석으로 표현

 

예제.

/*

이 시스템은 최대 3개의 클라이언트와 통신해야하는 요구사항이 있으므로 3이 선정

*/

#define CLNT_COUNT (3) 

 

추가 의견으로 아무런 의미없이 상수를 쓰지 않는 습관을 가져야한다.

테스트로 상수를 쓰더라도 define 또는 enum을 무조건 사용하도록 한다.

 

세번째, 쉽게 이해할 수 없는 코드 및 예외처리에 대한 근거 및 히스토리 주석으로 표현

 

예제1.

int a;

/*

a /= 2와 같음, 최적화를 위해서 shift 연산자 사용

*/

a >>= 1; 

 

예제2.

int Temparuture;

 

/*

이 시스템의 경우 온도가 55도가 넘어가면 성능이 떨어지므로

50도에 미리 AirConditioner를 구동

내부시험 시 53도 이상에서 구동하는 경우 온도가 55도가 넘어가서 50도로 선정

*/

if(Temparuture > 50){

 AirConditionerOn(); 

}

 

네번째, 전체적인 코드의 내용을 파악하기 위한 간략한 코드 설명

예제.

/*

현재 시스템 상태 클라이언트에 전달

성능 최적화를 위한 온도 제어

*/

 

제가 생각하는 방법 외에도 많은 방법이 있을 것이라 생각됩니다.

추가적인 의견이 있으신 경우 댓글 부탁드립니다. 감사합니다.

'프로그래밍' 카테고리의 다른 글

쓰레드(Thread)에 대한 생각  (0) 2020.11.12
c언어/c++ int 크기  (0) 2020.11.11
c언어/c++ const  (0) 2020.10.21
c언어/c++ static  (0) 2020.10.19
c언어/c++ enum  (0) 2020.10.14