따배C++ 강의노트_5부 : 주석을 잘 다는 방법
목차
안녕하세요. 백발청년 입니다.
오늘도 역시 홍정모 교수님의 C++ 강의인 따배씨++의 강의노트를 포스팅해봅니다.
4부 : 프로그램의 구조 https://whiteheadyouth.tistory.com/181
3부 : 코딩하다 막혔을 때는? https://whiteheadyouth.tistory.com/170
2부 : 솔루션, 프로젝트 관리 https://whiteheadyouth.tistory.com/161
1부 : 통합개발환경의 기본적인 사용법 - 윈도우 비주얼 스튜디오 https://whiteheadyouth.tistory.com/155
0부 : 홍정모 교수님의 따배씨++ 무료로 인강 듣는 방법 https://whiteheadyouth.tistory.com/89
오늘강의의 주제는 주석을 잘 다는 방법 입니다.
본문에서 언급하겠지만, 주석은 결코 남에게 보여주기 위함이 아닙니다. 내가 보기 위해 다는 경우가 훨씬 많을겁니다.
저 역시도 VBA 혹은 VB로 코딩을 할 때, 처음에는 누군가한테 코드를 보여주려 했던 것이 아니라 주석을 달지 않았지만,
지금은 누군가한테 보여줄일이 절대 없을지라도 주석을 달곤 합니다.
지금 생각해낸 코드, 그리고 프로그램이 흘러가는 흐름등이 내일 아침에 기억이 날 것이라는 보장이 없기 때문이죠.
번뜩이는 아이디어가 떠올랐다고 하더라도 메모하지 않으면 절대 기억을 할 수 없던 적이 많았기에, 주석을 달아서 "아! 이랬었지?" 하는 생각을 하게 됩니다.
초보자인 경우는 그냥 그런가보다 하고 읽고 넘겨도 좋아... |
주석 : 컴파일러가 코드를 무시하게 해 주는 것 |
위의 코드에서 x=5; 라는 문장 앞에 // 이 붙어 x=5를 주석으로 만들었습니다.
//은 //의 뒷부분이 주석이라는 표현 입니다.
//x=5; x=5라는 주석. 컴파일에 반영 되지 않음, y=5
x=5; x에 5를 넣어준다. 컴파일에 반영됨, y=8
// 한줄씩 주석을 달 때 사용합니다.
/* ~~~~ */ 영역의 전부가 통째로 주석처리가 되는 기호 |
위의 코드에서 int x=2; 부터 endl; 까지가 모두 주석화 되었습니다.
/* ~ */은 *안의 모든 내용을 주석으로 처리합니다. 때문에 줄이 바뀌어도 모두 주석으로 처리가 되지요.
위 코드는 홍정모 교수님의 강의에서 캡쳐한 코드 입니다.
원래는 int x = 2;부터 x+3;까지의 주석을 만드려고 한 것이지만, x=5; 앞에 /*이라는 주석 처리가 붙었죠.
그럼 /*int x = 2 ; 부분이 잘못된 것으로 인식합니다. 반드시 /* 이후엔 */이 붙어주어야 합니다. 안에 같은 기호가 붙으면 안됩니다.
보통 코드의 맨 앞줄에 붙이는 주석의 예 입니다.
내가 만들었다고, 백발청년이 만들었다고 써놓는 뭔가의 간지의 느낌적인 느낌으로 작성합니다.
이런식으로 주석을 써먹을 수도 있구나 하고 생각하시면 됩니다.
블록을 지정하고 지정된 블록을 주석화 시킬 수 있습니다.
comment out the select 버튼을 눌러주면 되는데 단축키는 ctrl + K 를 누른 후 ctrl+c 입니다.
주석화 해제는ctrl+k 를 누른 후 ctrl+u를 누르면 됩니다.
그림에서 앞쪽에 있는 버튼이 블록을 주석으로 만드는 버튼, 그리고 뒷쪽의 아이콘이 해제하는 버튼 입니다.
주석은 결코 남에게 보여주기 위해서 다는 것이 아닙니다.
주석을 달고 나면, 남들이 코드를 해석하기 편할 수 있습니다.
아, 이런식으로 코딩을 했구나 하는걸 전문가가 아니어도 어느정도의 지식이 있으면 이해가 가능하다는 이야기 입니다.
그러나 꼭 남에게 내 코드를 보여주기 위해서 주석을 다는 것은 아닙니다.
내가 기존의 코드를 수정을 했다거나 새로운 코드를 넣었다거나, 하는 경우에 주석을 달아 놓으면
차후에 디버깅 할때 많은 도움이 될 수 있습니다.
또한 새로짠 코드에서 디버그를 할 때 문제가 있으면 새로 짠 코드 자체를 주석처리 할 수도 있겠죠.
그리고 문제가 있는 부분을 따로 확인해서 수정할 수도 있겠습니다.
주석이란건
내가 왜 만들고 있는지, 무엇을 만들고 있는지, 어떻게 만들고 있는지 써보는 것 입니다.
주석은 내가 왜 만들고 있는지, 무엇을 어떻게 만들고 있는지 써보는 것. |
아래의 경우를 살펴 볼까요?
처음 sight 의 값은 10 이었는데, 갑자기 sight 의 값이 0으로 바뀌었습니다.
내가 분명히 코딩을 했는데 왜 이렇게 되었는지 기억이 안날 수 있습니다.
예를들어...
주석란 밑에 코드들이 생략되었다고 생각하고...
주석란을 보니, 마법의 물약을 먹어서 시야거리가 0이 되었다고 합니다.
아, 내가 작성한 생략된(숨겨진, 여기서는 작성하지 않은) 코드가 마법의 물약을 먹은거구나. 라는걸 깨닫게 되는 거죠.
위 코드에서 동그라미 친 /2를 설명하고 있는 주석이 바로 //1+1 event 입니다.
cost라는 변수는 num_items를 2로 나눈값에 price_per_item을 곱한 값 입니다.
1+1 이벤트를 했으니 한개의 값은 2로 나누어야겠지요.
예를 들어 어떤 논문에서 가져온 방법을 썼다.
혹은 1. ~ 했다. 2.~ 했다 등으로도 씁니다.
위의 코드처럼 문장 단위로 주석을 달 때도 있습니다.
이번 강의는 사실 어떻게 하면 잘 달 수 있는지 보단, 주석을 왜 달아야 하고, 주석의 중요성을 확인하는 강의였던 것 같아요.
주석은 내게 중요한 것 이기 때문에, 항상 신경써서 달아야 겠습니다.
'경영과 투자와 공부 > 코딩 공부 (C++)' 카테고리의 다른 글
따배C++ 강의노트_7부 : 입출력 스트림과의 첫 만남, cin, cout (0) | 2018.11.24 |
---|---|
따배C++ 강의노트_6부 : 변수와의 첫 만남 (0) | 2018.11.23 |
따배C++ 강의노트_4부 : 프로그램의 구조 (0) | 2018.11.14 |
따배C++ 강의노트_3부 : 코딩하다 막혔을 때는? (0) | 2018.11.11 |
따배C++ 강의노트_2부 : 솔루션, 프로젝트 관리 (0) | 2018.11.08 |