본문 바로가기
C

C언어 기초강의 6강 설계와 주석

by 코드덕후 2022. 8. 12.
728x90

 

방송에서 사용된 PPT를 이미지 형태로 제공합니다. 
저작권이 있는 내용이니 재편집 및 무단배포를 금지해 주시기 바랍니다.
강의용이나 공부용으로 사용하시기를 부탁드립니다.

 


강의를 보기 전에 아래 링크에서 기본적인 용어를 꼭 한번 읽어 보시기를 추천드립니다.

프로그래밍 기초용어 및 지식
https://codingducks.tistory.com/40
https://codingducks.tistory.com/48

디버깅(기초디버깅/메모리디버깅)
https://codingducks.tistory.com/47
https://codingducks.tistory.com/46

 

visual studio 디버깅(메모리 디버깅)

지난번에는 초보자를 위한 기초 디버깅에 대해서 글을 올렸는데요 아래는 이제 한단계 나아가서 메모리로 하는 디버깅입니다. 디버깅에는 메모리/조건식/원격디버깅등 많은 기법들이 있습니다

codingducks.tistory.com

 

주석의 사전적 의미는 낱말이나 문장의 뜻을 쉽게 풀이한다는 것입니다.

간단하게 말해서 주석이란 코멘트/설명 정도라고 생각들을 많이 합니다.

 

프로그램을 잘 짜는것은 내가 오류 없이 잘짜는 것도 중요하지만 다른 사람이 내 코드를 보기 쉽게 짜는것 또한 프로그램을 잘 짜는 방법중에 하나입니다.

 

흔히들 이야기 할때 좋은 프로그램의 조건중에 유연성/가독성/일관성 등등을 이야기 하는데요 보기 쉽다라는 말은 "가독성"에 해당하는 아주 중요한 조건 입니다.

 

그런데 많은 초보 입문자분들 께서 이부분을 간과하고 프로그래밍을 합니다.

 

저는 이렇게 이야기 합니다. 주석은  

 

내가 짠 소스에 달아 놓는 설명이 아니라 내가 앞으로 짤 소스에 다는 이정표다.

 

이것이 무슨 말이냐?

 

바로 프로그램을 짜기 전에 설계를 해놓고 설계대로 짤수있게 해주는  이정표라고 생각하시는 것이 좋습니다.

 

주석으로 작성된 코드는 컴파일시 컴파일러가 무시하고 빌딩을 진행 합니다.

무슨말이냐? 없는 코드로 취급한다는 말이 되겠습니다.

즉 컴파일러의 입장에서 보면 코드가 투명망토! 를 입은 꼴이라고 보시면 됩니다.

 

(니가 입은것이 주석이냐???? )

 

그러니 전혀 문제가 되지 않는다는 것이죠, 

하지만 너무 남발하게 되면 오히려 가독성을 떨어뜨리는 요소가 될 때도 있으니 주의 하세요.  

 

그럼 이제 주석에 대해서 설명을 하고 좋은 습관에 대해서 논의해 보도록 하겠습니다.

 

주석

 

주석은 크게 2종류로 분류하게 됩니다.

 

한줄 주석 //

다줄 주석 /* */

 

주석은 이게 다입니다. 문법적요소는 조금 주의 할 내용뿐이 없습니다.

어라..!! 위에서 장황하게 이야기 해놓고 이게 다라고 이야기 하니 조금 당황하셨나요?

(사자들이..코끼리에게 당황!! 했네요?)

 

이제 주석이 얼마나 편리하고 좋은 것인가를 알게 되실겁니다.  

그전에 간단하게 주석을 사용하는 방법을 숙지 하셔야 합니다. 

 

한줄 주석

 

한줄 주석은 말그대로 한줄만 주석으로 처리하는 것입니다.

 

이것이 한줄 주석 입니다. 그냥 // 이렇게 두줄만 쓰고 하고 싶은 말은 한줄 단위로 쓰시면 됩니다. 주석을 처리된 글은 일반적으로 저렇게 초록색으로 처리 됩니다.

 

한줄주석은 아래 처럼 여러 형태로도 가능합니다.

 

 

위처럼 여러 형태로 // 로만 시작을 한다면 어떠한 형태로도 변형이 가능 합니다.

필자는 주로 //< 이러한 주석 또는 /// 이렇게 세줄 주석을 이용합니다.

폼?? 나지 않습니까 ㅎㅎㅎㅎ(특허있으니 제꺼는 도용하지 마세요!! ^^ )

 

여기 까지 한줄 주석에 관한 내용 입니다.

 

다줄 주석

 

다줄 주석도 말 드대로 여러줄의 주석입니다. 다줄 주석에서 주의 할점은 앞 강좌 에서 이야기한  {} 지역의 시작과 끝을 알리는 중괄호처럼 생각하셔야 한다는 것입니다. 

 

/*     .. 다줄 주석의 시작

*/     .. 다줄 주석의 끝

 

이렇게 한쌍으로 사용을 하셔야 한다는 것입니다.

 

 

/*  ~   */ 사이에 주석으로 처리하고자 하는 내용을 입력하시면 됩니다.

 

이러한 형태도 가능합니다

 

다줄 주석안에 한줄주석은 몇개를 사용해도 상관이 없습니다.

하지만 이럴일이 별로 없겠죠^^

 

아래는 주의 사항 입니다. 다줄 주석은 이러한 주의 사항만 지키시면 됩니다

 

 

위의 다줄 주석 안에 다줄 주석을 보도록 하겠습니다.

주석은 일반적으로 초록색으로 된다고 했습니다. 그런데 "을 인식하지 못해서 에러가~~ 부터 뒤쪽의 */ */ 까지 검정색으로 보이는 것을 알수 있습니다.

 

 

/* 과 */ 이것은 한쌍이라고 말씀드렸습니다.

 

시작 할때 /*으로 시작을 했고 그안에 /*은 무시됐습니다. 다시 닫아 주지 않아서 이죠

첫번째 */을 만난 순간 여기까지가 첫번째 이다 라고 생각하고 컴파일러는 처리합니다.

그런데 그뒤로 일반 글씨가 나오고 */ */ 닫기만 하고 있습니다.

 

그러니 에러가 발생한것입니다.

 

/* 으로 시작을 했다면 */으로 항상 닫아준다.

다줄 주석 안에서는 다줄 주석을 사용하지 않는다.

 

이 두가지만 주의 하시면 됩니다.

 

주석의 활용

 

이제 부터 주석을 활용하는 방법을 알려 드리도록 하겠습니다.

 

주석을 활용 하는 방법에는 가장널리 알려진 방법이

 

. 함수를 제작할 때

. 변수를 선언할 때

. 제작자의 의도를 알려줄 때

. 프로그램의 사용법을 알려줄 때

 

대략 이정도에 적용해서 사용을 하고 계십니다.

 

주석은 주석다워야지 하지 않나? 맞습니다.

 

//< 홍길동 이라고 화면에 출력한후 한줄을 내려라 라는 명령입니다.

printf("홍딜동\");

 

이렇게 달아주는 것이죠

 

위에서 했던 말을 기억 하시나요?

 

내가 짠 소스에 달아 놓는 설명이 아니라 내가 앞으로 짤 소스에 다는 이정표다. 라고 했던말이요

 

이게 필자가 말하고자 하는 주석의 가장 큰 활용입니다.

 

어떠한 일을 하실때 순서에 따라서 할일을 생각해 뒀습니다.

그러면 그냥 순서대로 일을 하는것과  메모를 해두는것 중 어느것이 일을 명확하게 처리하는게 될까요? 당연히 메모를 해놓고 순서대로 처리하는 것일 것입니다.

 

이렇게 말씀하시는 분도 있을겁니다. 그래서 설계를 하지 않느냐.

맞습니다. 설계가 필요한 이유도 그래서 입니다.

 

하지만 프로그램을 작성하면서 계속 노트를 보고 만들지는 않습니다.

 

이럴때 주석을 활용합니다.

 

. 프로그램의 흐름을 주석으로 미리 작성해 놓고 그대로 프로그램을 작성한다.

그래서 필자는 주석은 앞으로 짤 소스의 이정표 라고 말한 것입니다.

 

아래는 주석을 활용해서 프로그램을 시작하기전 작성한 양식입니다.

이전편에 강좌에 말씀드렸던 코드중 대부분이 있죠?

 

 

이렇게 작성을 해놓고 프로그램을 짠다면 아래와 같은 코드가 될것입니다.

모르는 코드가 있더라도 그냥 주석에 관해서만 봐주시길 바랍니다.

 

 

주석이 다달려 있습니다. 공부중에는 저렇게 주석을 달아주시면 다음에 누가 보더라도

어떠한 의도로 짰는지 알수 있겠죠?

 

이게 주석의 힘 입니다.

 

미리 할 일에 대해서 주석을 달아놓고 그대로 프로그램을 짜서 나가다 보면

가독성과 일관성이 좋은 코드가 만들어집니다.

 

초보일수록 처음에 이런 습관을 가지는 것이좋습니다.

 

필자가 게임프로그래머로 활동하던 시절 지인으로 계시던 서버 팀장님께서 이렇게 짜보는 것이 어떻겠느냐는 추천을 받고 계속적으로 짜다보니 이제는 이렇게 짜는 것이 오히려 편하게 되었습니다.

 

초보들의 실력이 많이 늘지 않는것 처럼 보이는 것은 저런 사소한 것부터 지키지 않기 때문입니다.

 

큰 프로젝트 일수록 저렇게 코딩(프로그램을 짜는것)하는 방법이 얼마나 효율적인 방법인지 알게됩니다.

 

중간 중간에 놓쳤던 생각이 날때도 있습니다. 그때는 바로 바로 주석을 써주시면 됩니다.

 

주석에 대해서 알아보았습니다.

 

마지막으로 기억하세요 주석은

 

내가 짠 소스에 달아 놓는 설명이 아니라 내가 앞으로 짤 소스에 다는 이정표다 라고.

주석을 다는 습관은 다른 사람을 배려하는 마음입니다

 

코딩덕후 : 네이버 카페
코딩을 조금 더 쉽게 재미있게 배우기 위한 까페입니다. C언어/Win32Api/C++/파이썬등을 유투브로 배우세요
https://cafe.naver.com/coducks

 

코딩덕후 : 네이버 카페

코딩을 조금 더 쉽게 재미있게 배우기 위한 까페입니다. C언어/Win32Api/C++/파이썬등을 유투브로 배우세요

cafe.naver.com

 

유투브 강의 

https://youtu.be/YUb-Zrj_v8w

 

728x90
반응형
LIST

댓글