오늘 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가 좀 더 잘 맞고 그런 건
있습니다만…