안녕하십니까. 김동우입니다.
이번 글에서는 comments, 주석에 대해 얘기해보고자 합니다.
글을 보시기 전, 지난 시간에 말씀드렸듯 사진 하나를 첨부하고 가겠습니다.
그럼, 이제 시작해볼까요?
주석은 컴퓨터 언어를 활용하는 사람들에게 있어 꼭 필요한 기능입니다.
대부분 자연어로 작성되어 코드나 프로그램의 로직을 쉽게 이해하는데에 도움이 되는 아주 기특한 녀석입니다.
그게 아니면 테스트 당시 해당 구문을 숨겨두고 컴파일러에게 무시하도록 지시하는 역할도 하고 있죠.
해당 위치의 오류를 잠시 배제하고도 실행이 가능한지, 실행 이후에는 어떤 결과가 나오는지 간편하게 확인할 수 있습니다.
주석의 이 기능은 개발 당시 상당히 유용하답니다!
팀 단위 개발에서나, 개인 프로젝트에서나 주석은 프로그램을 설명하는 데 있어 아주 중요하고, 용이합니다.
먼저, 함수를 설명하거나, 라이브러리가 어떤 라이브러리인지 설명하거나 하는 등으로도 충분히 활용할 수 있습니다.
변수는 물론, 개인적으로 잊기 쉬운 부분에 기록을 남겨둘 수도 있습니다.
때로는 엄청나게 복잡한 코드의 로직을 설명하는 단순하고 명쾌한 주석이 존재하기도 하죠.
원하신다면 가장 윗부분에 주석을 남겨 누군가에게 인사를 해도 된답니다.
자, 단행은
//주석입니다.
여러 행은
/* 주 석 내 용 */
의 형태로 작성해보자구요!
(C/C++과 Java, JS에서 해당되는 내용입니다. HTML, python은 달라요!)
학부생 시절 맛 좀 보았던 딥러닝의 경우 다양한 backbone 모델을 설명하는 주석들이 파일 내에 많이 존재한답니다.
영상처리분야는 또 어떨까요, 입력 영상의 사이즈 혹은 색상의 변화를 주석으로 작성하고는 하죠.
그렇다면, 왜 이런 기록을 남겨야 할까요?
해당 강의에서는 누군가 자신의 코드를 볼 경우에 대비해서가 아닌, 스스로 코드를 잘 이해하기 위해 작성한다고 하셨습니다.
사람의 기억력은 완벽하지 않기 때문입니다.
단순한 예제를 봅시다.
int main(void){
int score;
...
score = block_length * 5 + score_cnt;;
return 0;
}
자, 만약 테트리스 게임의 코드에서 score에 블럭의 칸수(block_length) 5를 한다면, 5는 어디에서 온걸까 하는 생각이 들지 않겠습니까?
그냥 없앤 블럭의 수가 곧 점수여야 하는것은 아닐까? 뒤에 카운트는 총합이니까 그게 맞지 않을까?
무슨 생각으로 개발자는 점수에 5를 곱해준걸까? 하고 말이죠.
즉, 개발자의 의도를 모르기에 우린 확신할 수 없을겁니다.
심지어는 개발자 본인도 나중에 와서 왜 5를 곱했는지 모를 수 있습니다.
int main(void){
int score;
...
// 점수가 너무 낮으니 5 곱해주기
score = block_length * 5 + score_cnt;
return 0;
}
이제는 이해가 가시나요?
단순한 예시였지만, 후에 갈수록 점차 주석의 중요성을 본인이 스스로 느끼게 될겁니다.
저는 실제 개발에서 누군가가 볼 것이라는 생각으로 지금 이 글을 적고 있듯 매 주석 또한 누군가에게 설명하듯 적고 있습니다.
때로는 실습 파일 자체에 주석으로 노트하고, 후에 마크다운으로 작성해 깃허브에 묶어 올리기도 하죠.
그만큼 기록은 너무나도 중요합니다.
자, 우린 이제 C++ 내에서의 기록을 배웠습니다.
그럼 이만 글을 마치도록 하겠습니다.
사진자료 출처 - https://inpages.tistory.com/157