C 프로그래밍 입문/C 문법: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
120.142.214.23 (토론)의 41088판 편집을 되돌림
태그: 편집 취소
편집 요약 없음
태그: 되돌려진 기여
1번째 줄:
<div style='border: dashed 1px #0000ff; backgroundnd: #f0f0ff; padding: 7px; margin: 10px 0px 10px 0px;'>
== 프로그램을 이해하기 쉽게 만드는 법 ==
프로그래밍을 하는 데 있어서 논리적인 코드를 만드는 것 보다 더 중요한 일은 누구나 쉽게 이해할 수 있는 코드를 만드는 것 이다. 쉽게 이해할 수 없도록 꼬여있고, 일반적으로 사용하지 않는 방법을 써서 효율을 높이는 트리키(tricky)한 코드가 멋져보일지 모르지만, 프로그램 코드로서는, 특히 여러사람이 함께 작업하는 프로젝트의 프로그램 코드로서는 낙제점이다.
 
작성된 코드는 내가 아닌 다른 누군가가 보고 수정해야 하는 상황이 온다. 내 코드의 일부를 재활용해서 다른 프로그램의 일부분으로 사용될 수 도 있을 것이다. 스스로 만든 프로그램을 오랜 시간이 지난 후에 새로운 기능을 추가하기 위해 수정해야 하는 경우도 있을 수 있다. 그 모든 경우에, 만들어진 프로그램의 코드가 이해하기 어렵다면 종종 원래의 코드를 버리고 완전히 새로 작성하는 편이 더 빠른 경우가 비일비재하다. 그 시점에서 부터 원래의 코드를 작성한 사람은 아무일도 안한 셈이 되어 버리는 것이다.
 
프로그램을 이해하기 쉽도록 돕기위한 도구는 기본적으로 두 가지가 있다. 하나는 '주석'이고 다른 하나는 '들여쓰기' 이다. 주석은 컴파일러가 프로그램 코드를 컴파일 할 때 무시하고 컴파일 하게 되어 있어, 프로그램 코드를 볼 사람에게 전할 메시지나, 프로그램 코드에 대한 설명들을 추가할 때 사용된다. 최근(?!!)에는 이 주석 영역을 이용하여 자동으로 문서작업을 해주는 프로그램들도 많이 사용된다. 대표적인 C/C++ 문서화 도구로는 '''[http://www.doxygen.org/ Doxygen]'''이 있다.
 
 
=== 주석달기 ===
 
주석(Comment)은 스스로, 그리고 다른 사람이 프로그램 코드를 쉽게 이해하도록 돕기위해 사용되는 도구이다. 물론 주석을 달지 않고, 프로그램 코드를 보는 것 만으로 프로그램을 이해할 수 있도록 작성되어 있다면 최상의 프로그램 코드가 되겠지만, 그런 프로그램 코드를 작성하는 것은 현실적으로 불가능(computational impossible)하다. 그런 프로그램을 작성하기 위해 100%의 노력을 들여 1년만에 완성하는 것 보다. 50%의 노력만 하고 나머지 50%를 주석으로 채워 넣고 6개월 안에 완성하는 편이 현실적으로 더 나은 선택이라 믿는다.
 
원래 C에서 사용할 수 있는 주석의 형태는
 
<div style='border: dashed 1px #0000ff; background: #f0f0ff; padding: 7px; margin: 10px 0px 10px 0px;'>
<source lang="c" line="GESHI_NORMAL_LINE_NUMBERS">/*
원래 C 표준에서 사용하는 주석의 형태는 이것 하나 뿐 입니다.
*/</source></div>
 
위와 같이 ''''/*''''와 ''''*/'''' 사이에 원하는 메시지를 집어 넣는 형태 뿐이다. 이 형태의 주석은 여러줄의 추가 설명을 달 수 있다는 장점을 갖고 있다. 주석으로 지정된 내용은 프로그램을 컴파일 할 때 무시하고 컴파일을 한다. 그렇기 때문에 어떤 내용을 기록해도 사회적으로 법적으로 문제를 일으킬 수 는 있을지 몰라도 컴파일되어 만들어지는 프로그램에는 아무런 영향을 미치지 못한다. :)
 
이런형태의 주석을 사용할 때 주의할 점은 중첩되어(nested) 사용할 수 없다는 것이다.
<div style='border: dashed 1px #0000ff; background: #f0f0ff; padding: 7px; margin: 10px 0px 10px 0px;'>
<source lang="c" line="GESHI_NORMAL_LINE_NUMBERS">/*
유효한 주석의 영역