코딩 가이드를 따르십니까?

pynoos의 이미지

아래 URL에서 조금씩 작성중인 개발웍샾에 대한 글중 토의 해보고 싶은 내용이 있어서 인용해 봅니다.

http://wiki.kldp.org/wiki.php/DevelopementWorkshop

Quote:
코딩 규칙은 두 종류로 나뉩니다. 하나는 자동으로 스타일을 바꿀 수 있는 것 하나는 힘들여 코딩가이드를 따라야만하는 것입니다. 코딩 규칙은 너무나 개인 적인 성향이 강하게 나타나므로 팀이 개발 할 경우에 걸림돌이 될 수 있습니다. 대개 코딩 가이드는

이름(파일, 함수, 클래스)을 어떻게 정할 것인가?
주석을 어떻게 달 것인가?
괄호의 위치는 어떻게 할 것인가?
들여쓰기는 어떻게 할 것인가?

등의 커다란 주제로 나뉩니다. 그중에서 자동화 하거나 규칙을 어겼는지를 테스트하여 경고를 줄 수 없다면, 코드 리뷰를 하기전까지는 알 수가 없습니다. 과거에는 코딩 규칙만 정해놓고 따르지 않는 경우가 허다했습니다. 습관과 관계되었기 때문입니다. 하지만 요즘에는 code beautifier가 많기 때문에 마음대로 작성하고 코딩 규칙에 맞는 option을 선택하여 code beautifier를 돌려주면 됩니다.

구글로 code beautifier 혹은 source beautifier 로 검색하면 상당히 많은 검색을 얻을 수 있을 것입니다. 제가 즐겨쓰는 것은 GNU의 indent입니다. indent 자체에는 GNU style과 BSD style로 맞춰주도록 하는 옵션이 있어서, 많은 GNU tool이나 BSD tool들이 이런 유틸리티의 산출물 형태로 등록되는 것을 볼 수 있습니다.

코딩 규칙에는 파일 이름 정하는 것이나 함수 이름, 변수 이름등을 결정하는 것이 따라 갑니다. 이들 또한 ctags -x 를 사용하면 함수와 변수별로 정의된 위치를 파악할 수 있습니다. 함수,변수 이름 규칙은 반드시 정규표현식으로 결정할 수 있어야하고, ctags -x 의 출력물을 정규표현식으로 하나하나 조사하여 규칙 위반 여부를 리포팅하는 것도 코딩 규칙이 문서로만 존재하는 것을 막아 주게 됩니다.

토론해보고 싶은 것은, 코딩 가이드가 존재하는지, 얼마나 준수하는지 어떻게 감독하는지입니다. 제 지론은 습관은 변하기 어렵다. 하지만 기계가 경고해주거나 알아서 바꿔주면 따라간다입니다. :) 여러분들은 어떤 경험이 있으신가요?

fender의 이미지

Checkstyle을 사용합니다. 지금은 설정 파일을 만들어 놓고 CVS 체크인 전에 확인 하도록 하고 있습니다.

단순한 코드 정리 툴보다는 잘못된 디자인이나 좋지 못한 습관까지 교정해줘서 좋습니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

차리서의 이미지

아직까지는 다른 사람과 함께 일할 기회가 거의 없었기 때문에 그다지 신경쓰지 않고 지냈습니다만, 최근에 조금씩 생각해보기 시작하고 있습니다. 지금까지 저 혼자 쓰던 모양새는 거의 BSD 소스 코드 모양새와 비슷하기에, 아예 BSD 모양새로 습관을 들이는 중입니다만, 나중에라도 다른 사람과 함께 일할 때 바꿀 필요가 있다면 적절히 바꿔야겠죠.

vim이나 emacs에 연동되어 모양새를 알아서 바꿔주는 프로그램에도 근래에 들어서야 관심을 두기 시작했습니다. :wink:

--
자본주의, 자유민주주의 사회에서는 결국 자유마저 돈으로 사야하나보다.
사줄테니 제발 팔기나 해다오. 아직 내가 "사겠다"고 말하는 동안에 말이다!

june8th의 이미지

차리서 wrote:
... vim이나 emacs에 연동되어 모양새를 알아서 바꿔주는 프로그램에도 근래에 들어서야 관심을 두기 시작했습니다. :wink:

어떤 프로그램인가요?
들여쓰기나, 주석, 괄호 같은 것외에
변수명이나 함수명을 코치해주는 프로그램이라면 더 좋겠는데요. :-)

쎄피로의 이미지

코드 모양새는 각자 천차만별이니 서로 좋은 쪽으로 보완해 나가면 좋을 것 같구요..

중요한 것은 이름 같습니다. 변수명 함수명...

이것들은 약속을 하는 것이 좋다고 생각합니다.

그러나..... 이 역시 웹에서 css를 즐겨 쓰듯이

혼자만의 만족으로 그치는 경우가 다반사 -_-;;;

세상은 넓고, 할 일은 많은데, 난 숨만 쉬고 있니?

차리서의 이미지

june8th wrote:
차리서 wrote:
... vim이나 emacs에 연동되어 모양새를 알아서 바꿔주는 프로그램에도 근래에 들어서야 관심을 두기 시작했습니다. :wink:

어떤 프로그램인가요?
들여쓰기나, 주석, 괄호 같은 것외에
변수명이나 함수명을 코치해주는 프로그램이라면 더 좋겠는데요. :-)

별로 새로운 물건을 찾아낸 것이 아니라, 예를 들면 emacs에서의 C-c c-set-style처럼 이미 유명한 것들을 이야기했던 것입니다. 오히려, 저야말로 이제서야 관심을 두기 시작했기 때문에 아직은 거의 아는 바가 없답니다. ^^;

PS: 웃으면서 땀방울 흘리는 이모티콘이 절실히 필요합니다.

--
자본주의, 자유민주주의 사회에서는 결국 자유마저 돈으로 사야하나보다.
사줄테니 제발 팔기나 해다오. 아직 내가 "사겠다"고 말하는 동안에 말이다!