본문으로 이동

미디어위키 1.45 안정화가 거의 끝났습니다. 다만 Flow 확장 기능 관련 이슈가 있어서 대체하는 작업을 수행할 계획입니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 데이터베이스 덤프 받고싶으신 분은 큰숲백과 가입 후에 사용자토론:Bigforest에 의견 남겨주시면 ftp 주소, 계정, 비밀번호를 특수:EmailUser를 통해서 공개할 예정입니다.

작은숲:위키노트/초보자를 위한 C 언어 강의/코딩 스타일

큰숲백과, 나무를 보지 말고 큰 숲을 보라.

많은 사람들이 코딩 스타일의 중요성을 강조한다. 다들 알고 있겠지만 C 소스 파일을 컴파일할 때는 하나 이상의 연속된 공백문자는 아무런 의미가 없다. 그렇다고 하더라도, 프로그래머들은 빈줄이나 탭 등을 이용해서 소스 파일을 보기 좋게(?) 만든다. 왜 그렇게 할까? 어차피 소스 파일이라는 것은 프로그램을 만들기 위한 것이 아닌가? 하지만 문제는 그 소스 파일이 지금 한번만 써먹는 게 아니라는 데 있다. 만약 이 프로그램 하나만 만들고 말 것이라면 어떤 식으로 소스 코딩을 하던 상관이 없을 것이다. 하지만, 일반적으로 하나의 소스는 다른 프로그램을 짤 때 참고가 되기도 하고, 또 그 프로그램을 디버깅하거나 수정할 때 다시 들여다 봐야 한다. 이렇게 다시 그 소스를 봤을 때 깔끔하게 정리가 되어 있지 않으면 소스를 분석하기가 상당히 힘들어 진다. 이런 경우를 '가독성'이 낮다고 한다. 다음 두 소스를 비교해 보도록 하자.

int i,array[10]; for(i=0;i<10;i++) array[i]=i*3;
int i, array[10];
for (i = 0; i < 10; i++)
    array[i] = i * 3;

아주 짧은 소스이지만, 어떤가? 두 소스 중에 어떤 것이 훨씬 보기 편할까? 그렇다고 보기 편하게 만들기 위해 특별한 노력을 기울여야 하는 것인가? 현재 여러 종류의 코딩 스타일을 추천하고 있다. K&R 스타일도 있고, ANSI 스타일도 있고, GNU 스타일도 있다. 어떤 식으로 코딩을 할 것인가는 자신이 결정하는 것이다. 다른 사람이 보기 편하면 그만이다. 또 자신의 코딩 스타일에는 일정한 규칙이 있어야 한다. 그래야 소스 분석하기가 좋다. 여기에서는 이렇게, 저기에서는 저렇게 사용한다면 그 소스를 분석하는 사람의 입장에서는 상당히 짜증나는 일이 될 것이다. 어떤 코딩 스타일을 따르던, 아니면 자신만의 스타일을 만들어서 사용하던, 일정한 규칙을 가지고 쓴다면 문제 없다고 생각한다. 그리고 팀 단위로 프로젝트를 진행할 때에는 혼자 코딩하는 것이 아니기 때문에 팀원들간의 협의를 거쳐 동일한 형태의 스타일을 사용하는게 좋다. 실제로 프로젝트를 진행하는 단체에서는 그런 규칙들을 정해서 프로젝트에 참여하는 프로그래머들이 따르도록 하고 있다. 습관이라는 것은 굉장히 무서운 것이다. 일상 생활에서의 습관도 그렇지만 프로그래밍할 때도 한번 습관이 되면 고치기 상당히 힘들다. 처음 프로그래밍을 할 때부터 이런 습관들을 가진다면 나중에 편하다. 다음은 코딩 스타일에 관련된 문서들이다. 시간 나면 한번 읽어보기 바란다.

이 작은숲 문서의 출처는 위키노트의 위키노트: 문서입니다.