카테고리 없음 / / 2021. 1. 1. 21:43

케이스 네이밍 컨벤션(Case Naming Convention)

In computer programming, a naming convention is a set of rules for choosing the character sequence to be used for identifiers which denote variables, types, functions, and other entities in source code and documentation. (by wikipedia) 

 

캐멀 케이스(cammelCase) 는 낙타 등이 튀어나온 것에 비유해서 이름을 따왔다. 여러 단어로 합쳐진 변수나 함수를 만들 경우, 첫 번째 단어만 소문자로 하고 그 다음 단어는 대문자로 작성한다. 최신 코딩 트랜드에서는 변수명과 함수명을 캐멀 케이스로 작성하는 추세이다. (C++은 여전히 파스칼 케이스로 작성하기를 권장한다) 

e.g) nowTime, getNowTime, getControl 

 

Pascal Case

파스칼 케이스(PascalCase OR UpperCamelCase) 또는 쌍봉낙타 표기법이라고(cammelCase는 단어가 상징하는 의미에서 그 뜻을 대략 유추가 가능한데 Pascal가 쌍봉이 공유하는 의미는 모르겠다) 불린다. cammelCase에서 맨 앞 단어도 대문자로 표기한다. 요즘 대부분의 OOP 코딩에서 Class 명은 PascalCase로 작성한다. 

e.g) NewNormal, MoneyExchanger

 

snake_case

snake_case란 여러 단어가 합쳐진 부분마다 중간에 언더라인( _ )을 붙여 주는 방법이다. 단어는 소문자로만 구성되며, 변수나 함수명에는 하이픈(-)을 쓸 수 없으므로 언더라인( _ )을 사용한다. 요즘은 잘 사용되지 않는 방식이다.

e.g) snake_case, undemy_class, remote_control

 

 

헝가리안 표기법은 프로그래밍 언어에서 변수 및 함수의 인자 이름 앞에 데이터 타입을 명시하는 코딩 규칙이다. 헝가리안 개발자인 찰스 시모니(Charles Simony)가 MS의 개발 책임자로 있을 때 제안했다. 헝가리안 표기법이란 명칭 역시 단순히 찰스 시모니가 헝가이아 사람이라서 그렇게 불리게 되었다. 80년대 당시에는 IDE라는 개발 툴이 부실했기 때문에 이 규칙이 엄청난 센세이션을 불러 일으켰다. 하지만 지금은 MS도 공식 가이드라인에서 헝가리안 표기법을 사용하지 말 것을 권고하고 있다. (wikipedia 참조)

헝가리안 표기법 예시

 

<장점>

  • 데이터 타입을 변수명에서 바로 추정할 수 있다.

  • IDE가 없을 때 작업하는 경우 (특히 vi나 emacs로 터미널에서 작업할 때) 여러모로 유리해진다.

  • 같은 의미를 가지는 서로 다른 타입의 변수가 있을 때 이름 충돌을 방지할 수 있다.

<단점>

  • 아이러니하게도, 코드를 단번에 파악하기 힘들어진다.

  • 변수나 함수 인자의 이름을 기억하기가 힘들다.

  • 데이터 타입이 바뀌면 변수 또는 함수 인자의 이름을 바꿔야 한다. 리팩토링을 지원하는 IDE가 없으면 지옥도가 펼쳐질 것이다. 특히 PHP JavaScript, Python, Ruby 같은 동적 타입 언어와의 궁합은 최악.

  • C/C++일 경우 언어 명세에서 데이터 타입의 크기를 강제하지 않은 바람에 시스템 아키텍처에 따라 데이터 타입의 크기가 다르다는 무시 못할 문제가 있다.[4] 예를 들어 w는 16비트일까? 32비트일까? 64비트일까? 묵념

  • 같은 의미를 가지는 서로 다른 타입의 변수가 있을 때 이것들을 왜 선언했는지를 잊어버렸다면 혼돈! 파괴! 망가!가 연출된다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유