C Indent style
오늘 KIDS BBS(kids.kornet.net)에서 C Indent style 이야기가 나와서 내가 한 마디 했는데…
협업 개발 시, 동료들에게 짜증을 주는 인간이 되지 않으려면 최소한 indentation은 지켜야 할 것 아니냐. 남이 잘못 해놓은 indentation이나 공백 지정을 고치고 있노라면 내가 왜 이런 비생산적인 일에 노력을 경주해야 하나 싶다.
제발 유명한 스타일을 쓰잔 말이다.(아래 링크 참고)
C 소스 코드 분석해서 인덴테이션을 맞춰주는 프로그램을 짤 능력이 안 되면 GNU indent를 쓰면 된다. 다만, GNU indent를 쓰면 모든 스타일을 커스터마이즈할 수 있긴해도 사실상 귀찮아서 GNU 스타일 아니면 K&R 스타일 밖에 못 쓰게 된다.
K&R 스타일이 컴팩트해서 좋은데, 최근 몇 년 간 GNU 스타일에 맞춰서 작업을 해왔던 터라 습관적으로 GNU 스타일로 코딩하게 된다. emacs를 쓰다보니 찰떡궁합이긴 한데, 컴팩트한 면을 보자면 GNU 스타일은 길게 늘여쓰는 거라서 비효율적이다. 공백이나 {와 같은 프로그램에 관련없는 내용이 여러 줄을 잡아먹는다.
indent style로 검색해보세요. 몇가지 없습니다.
http://en.wikipedia.org/wiki/Indent_styleGNU, K&R, BSD, Whitesmith, Stroustrup, Ellemtel, Linux, Python, JAVA 등등
그 중에서도 앞 4가지가 유명하고 널리 쓰입니다. 나머지는 특정 언어나
상황에서만 쓰이죠.편하게 쓰려면 GNU indent 한 번 돌려서 나오는 걸로 쓰면 됩니다.
indent test.c
또는
indent -kr test.c개인적으로는 GNU 스타일보다는 K&R 스타일 선호합니다.
GNU indent가 지원하지 않지만 BSD 스타일도 괜찮은 듯…vi 쓰면 K&R이 좀 더 잘 맞고, emacs 쓰면 GNU가 좀 더 잘 맞고 그런 건
있습니다만…
댓글 4개
가짜집시
저는 vi 중독자라서 K&R 스타일을 애호하고 있는 것이었군요 +_+
dawnsea
저는 울트라에디터;; 리눅스 뭐던 삼바, NFS 등등 끝끝내 울트라까지 끌여오곤 하지요.
그런데 살다보니 코딩 스타일 문제에 있어서는 어느 조직이나 통일을 강요할 수는 없다고 생각합니다.
“이게 더 좋으니 이걸 써라, 학교때 뭐 배웠냐” 라고는 하지만.
단 한 번도 통일된 적이 없네요 ㅠ.ㅠ
오히려 SI업무쪽이 설계서 같은거가 명확해서 말도 안 되는 암호스타일의 파일명/변수명을 사용하면서도 잘 지켜지는 듯..
그냥 사람들의 현실을 인지하고 최소한의 룰만 지키자고 하며 사는 것이 건강에도 좋을 것 같습니다.
(사실 제가 야메로 이 업계에 뛰어 들어서 야메로 짜서 그렇습니다 -_-)
* * *
어쩌다 보니 case 가 긴 스윗치 문에 있어서..
각 케이스를 별별 사람이 하나씩 다 건드려놨는데
케이스마다 탭이 다 다른 거여요. 중첩 스윗치도 있는데;;;
이럴 때는 참자 해도 승질나긴 하더군요 ㅠ.ㅠ
dawnsea
그나저나 키즈가 살아있었군요 ㅠ.ㅠ
주변에 유학준비하거나 카이스트 관계자거나, 여튼 아카데믹한 뽀대가 강한 사람들이 주로 쓰는 걸 보고 저도 슬쩍 슬쩍 구경다녔는데 ^^;
terzeron
dawnsea님, indent 한 번만 실행해주면 손이 편하고 머릿속이 시원해지죠. ^^
또는 CVS repository에 indent를 끼워넣어서 자동으로 실행되게 하면 어느 정도 자동화를 구축할 수 있습니다.