본문 바로가기
Develops/JAVA

[JAVA] 변수명 표기법 정리 (카멜, 파스칼, 스네이크, 케밥, 헝가리안)

by SLOTH91 2024. 5. 18.
반응형

JAVA로 개발된 프로젝트들을 보면 프로젝트마다 개발자에 따른 차이인지 파일이름, 변수이름, 함수이름 등 이름 표기에 대한 규칙이 제각각인 편이다.

무엇이 정답이다 하는 것은 없지만 개인적으로 생각으로는 최대한 가독성 있게 표기하는게 좋은 방식인 것 같고, 이미 구축된 프로젝트를 유지보수하는 경우에는 개인적으로 선호하는 표기법보다는 기존에 사용된 표기법을 사용하여 일관성을 지켜주는 것을 맞는게 아닌가 싶다.

 

그를 위해서는 다양한 표기법에 대해 숙지하도록 하자.

1. 카멜 표기법(camel case)

예시 : dailyUserTable

  • 낙타 등처럼 내려갔다 올라가는 모양이라 하여 지어진 이름
  • 단어가 여러개 붙을 때, 앞 단어를 제외한 첫자를 대문자로 표기
  • java, C# 등의 언어들에서 권장

2. 파스칼 표기법(pascal case)

예시 : DailyUserTable

  • 모든 단어의 앞자가 대문자로 시작(단어의 수와 상관 없음)
  • 네임스페이스, 이벤트, 프로퍼티, 클레스 네임을 지정할 때 주로 사용
  • 클래스 등에서 많이 사용

3. 스네이크 표기법(snake case), 팟홀 표기법(pothole case)

예시 : daily_user_table

  • 모든 단어가 소문자로 표시
  • 다른 의미를 갖는 단어들의 조합에서 각 단어의 구분을 위하여 언더바( _ )를 붙힘
  • 단어 사이의 '_' 가 뱀처럼 보인다고 해서 유래
  • 언더바 표기법 이라고도 불리움
  • C++에서 권장

 

4. 케밥 표기법(Kebab case)

예시 : daily-user-table

  • 케밥이 꼬챙이에 꽃힌 모습에서 생긴 방법
  • 모든 단어가 소문자로 시작하고, 단어와 단어 사이에는 “-“로 연결된 방식

 

5. 헝가리안 표기법(Hungarian Notation)

예시 : strDailyUserTable

  • 접두사에 자료형을 붙힘
  • 마이크로소프트 개발자 중 헝가리 프로그래머가 쓰던 변수 명명법
  • 현재는 자료형을 쉽게 알아 볼수 있는 다양한 방법들이 많기 때문에 권장하지 않음

 

etc. 커스텀

예시 : ST_User_CD

  • 개발사만의 또는 개발 조직 자체적으로 사용하는 방식 또한 많이 사용( ex. 접두사(두자리)_풀네임(단어)_약어.... )
  • 접두사 대문자, 단어의 첫글짜 대문자, 약어 대문자

 

 

[참고]

- https://blog.naver.com/nkind/222017581135(변수명 표기법(카멜, 파스칼, 스네이크, 헝가리안))

- https://kimmy100b.github.io/tech/2020/08/04/explain-case/(카멜(Camel)표기법, 팟홀(Pothole)표기법, 파스칼(Pascal)표기법, 케밥(Kebab)표기법)

반응형