심볼이란 프로그래머가 결정하는 이름이라고 보자. 심볼 네이밍이란 이런 심볼의 이름을 짓는 작업이다. 소스코드에서 함수, 메소드나 변수 등의 네이밍을 보면 (다들 잘 아시겠지만) 몇 가지 특징으로 묶어진다.
자바스러운 네이밍은 주로 메소드나 함수 네이밍에 많이 쓰인다. 그리고 자바뿐만 아니라 C++이나 각종 OOPL류에서 많이 쓰이고 있다. 공백을 따로 표현하지 않고 단어단위로 대소문자로 구분해서 붙여쓰기에 코딩 자체는 편하고 가독성도 나름 있다. 하지만 개인적으론 좀 싫어하는 스타일이다. 붙여서 쓰다 보니 가끔 헷갈리게 만드는 문자들 끼리 붙어서 곤혹스럽게 만들기도 한다. 그리고 이런 식으로 이름이 만든 경우 대체로 약자를 안쓰기에 이름이 길어진다. SetVariable 이라는 이름과 setvar(혹은 set_var) 라는 이름의 네이밍 차이는 명백하다.
클래스명의 네이밍은 대체로 거의 비슷한 듯 하다. 대문자C로 시작하는 헝가리안 스타일은 최악이라고 보지만 그 외에 대부분 자바스러운 스타일이 대체로 쓰인다. 굳이 불만은 없다.
C스러운 네이밍, 소문자와 숫자 그리고 언더라인으로 구성된 네이밍은 윈도우 계열에선 거의 안쓰이는 것 같다. vc++ 때문이겠지. 하지만 유닉스/리눅스 계열로 가면 갈 수록, 순수 C로 구성되어 있을 수록 이런 소문자 네이밍은 더 많이 쓰인다. 이런 네이밍의 특징은 함수 이름이 길어지지 않도록 약자를 많이 쓴다는 점이다. 그리고 붙여쓸 경우 모호함을 피하기 위해 언더라인을 간혹 쓴다. 개인적으론 약자 해석이 안될 때 불만이 있긴 하지만 가독성은 제일 좋다고 생각한다.
제목을 분쟁이라고 적었는데, 개인적으로 자바스러운 것과 C스러운 것 사이에서 종종 고민하기 때문이다. 물론 개인적인 기호는 C스러운 것이지만 다른 사람들이 자바스러운 것을 쓸 때를 생각해서 일부러 자바스럽게 쓰기도 한다. 그랬다가 고치기도 하고 (이클립스 리팩토링 기능 만세!)...
굳이 뭐가 좋다고 주장할 필요는 없겠지. 이런건 개인 기호로 남기거나 아니면 팀 회식(???)으로 결정해야 될지도 모를 사항이니깐.
그래도 역시 내 출신성분(...)으로 봐선 C스러운게 역시 최고다. ;ㅅ;
- 자바스러운 네이밍: 언더라인은 일체 쓰지 않고 대소문자로 붙여쓰는 스타일. 예를 들자면 SetThisValue 등등...
- vc++에서 변수는 헝가리안 노테이션이 기본. 거기다 자바스럽게 이름을 짓는다. 예를 들자면 szText 등등...
- 클래스는 대부분 대문자로 시작해서 소문자로 마무리하는 자바스타일: CFile(vc++ 스타일), SomeModule 등...
- 소문자와 언더라인으로 구성되는 POSIX 스타일: C 표준 라이브러리나 C로 구현된 류, 혹은 Python이나 Ruby 의 일부 모듈의 메소드 등등. 예를 들어 fgets, some_action 등등...
- 그 외에 대문자만 쓰거나 언더라인을 앞에 잔뜩 붙이는 등의 분류. 좀 특별하니 무시: 주로 상수나 typedef 정의 형태로 쓰이기도 하나 그건 역시 코더 마음.
자바스러운 네이밍은 주로 메소드나 함수 네이밍에 많이 쓰인다. 그리고 자바뿐만 아니라 C++이나 각종 OOPL류에서 많이 쓰이고 있다. 공백을 따로 표현하지 않고 단어단위로 대소문자로 구분해서 붙여쓰기에 코딩 자체는 편하고 가독성도 나름 있다. 하지만 개인적으론 좀 싫어하는 스타일이다. 붙여서 쓰다 보니 가끔 헷갈리게 만드는 문자들 끼리 붙어서 곤혹스럽게 만들기도 한다. 그리고 이런 식으로 이름이 만든 경우 대체로 약자를 안쓰기에 이름이 길어진다. SetVariable 이라는 이름과 setvar(혹은 set_var) 라는 이름의 네이밍 차이는 명백하다.
클래스명의 네이밍은 대체로 거의 비슷한 듯 하다. 대문자C로 시작하는 헝가리안 스타일은 최악이라고 보지만 그 외에 대부분 자바스러운 스타일이 대체로 쓰인다. 굳이 불만은 없다.
C스러운 네이밍, 소문자와 숫자 그리고 언더라인으로 구성된 네이밍은 윈도우 계열에선 거의 안쓰이는 것 같다. vc++ 때문이겠지. 하지만 유닉스/리눅스 계열로 가면 갈 수록, 순수 C로 구성되어 있을 수록 이런 소문자 네이밍은 더 많이 쓰인다. 이런 네이밍의 특징은 함수 이름이 길어지지 않도록 약자를 많이 쓴다는 점이다. 그리고 붙여쓸 경우 모호함을 피하기 위해 언더라인을 간혹 쓴다. 개인적으론 약자 해석이 안될 때 불만이 있긴 하지만 가독성은 제일 좋다고 생각한다.
제목을 분쟁이라고 적었는데, 개인적으로 자바스러운 것과 C스러운 것 사이에서 종종 고민하기 때문이다. 물론 개인적인 기호는 C스러운 것이지만 다른 사람들이 자바스러운 것을 쓸 때를 생각해서 일부러 자바스럽게 쓰기도 한다. 그랬다가 고치기도 하고 (이클립스 리팩토링 기능 만세!)...
굳이 뭐가 좋다고 주장할 필요는 없겠지. 이런건 개인 기호로 남기거나 아니면 팀 회식(???)으로 결정해야 될지도 모를 사항이니깐.
그래도 역시 내 출신성분(...)으로 봐선 C스러운게 역시 최고다. ;ㅅ;
태그 : 개발



덧글