데일리 잡(Job) 지식

[네이밍 컨벤션] camelCase, PascalCase, Snake_case, Kebab-Case

개발하는 주디씨 2023. 11. 24. 10:39

 

 

method는 camel로 작성해주셔야 해요.
repository는 보통 케밥으로 많이가죠?

-
사람과 사물 등 모든 것은 이름이 있고, 그 이름은 각자 의미가 담겨있다.

 

 

 

 

변수명, 상수명, 함수명을 한글로 지었던 기억이 있나요? 🤔아마 특정한 수업과제나 이해를 위해 변경한 것을 제외하곤 프로그램을 작성하는 실무는 관습적으로 영어로 네이밍하는 것은 전세계적으로 통용되는 네이밍 컨벤션입니다.

 

네이밍 컨벤션이 필요한 이유

단어의 의미를 위해 띄어쓰기하면 프로그램은 단어별로 다르게 인식하기 때문에 한 단어라는 것을 알게 해주어야 합니다. 크게 두 가지로 나누어보면, 띄어쓰기 사이에 특수문자를 넣거나 대소문자로 합쳐주는 방법이 있습니다.

 

살펴보기

dailyTimeLimit : 첫번째 단어는 소문자로, 이후에는 첫글자만 대문자로
DailyTimeLimit : 모든 단어의 첫 글자를 대문자로
Daily_Time_Limit : 띄어쓰기 공백을 밑줄(_)로
Daily-Time-Limit : 띄어쓰기 공백을 하이픈(-)으로

 

📌 구체적인 네이밍 컨벤션은 프로그래밍  언어에 따라 달라질 수 있음에 주의하세요.

 

1. Camel Case (캐멀 케이스)

dailyTimeLimit : 첫번째 단어는 소문자로, 이후에는 첫글자만 대문자로

 

  • 주로 변수와 함수 명명에 사용(Python과 같이 예외적인 경우도 있음)
  • 예) Geek Haus -> geekHaus

울룩불룩하게 생긴 모양이 낙타의 혹과 닮았다하여 Camel + 활자의 Case 가 합쳐져 CamelCase라고 부른다.

 

2. Pascal Case (파스칼 케이스)

DailyTimeLimit : 모든 단어의 첫 글자를 대문자로

 

  • 주로 클래스(Class) 및 컴포넌트(Component) 명명에 사용
  • 예) Geek Haus -> GeekHaus

프로그래밍 언어 중 하나인 파스칼과 함께 생겼다는 이야기가 있는데 공식적인건 아니라.. 암튼 그렇다. 

 

 

3. Snake_Case (스네이크 케이스)

Daily_Time_Limit : 띄어쓰기 공백을 밑줄(_)로

 

  • 주로 Python 변수/함수명, 전역 상수(Global Constant)에 사용
  • 예) Geek Haus -> Geek_Haus

 

기어가는 뱀처럼 생겨서 스네이크 케이스라는 이름이 생기게 되었다. 파이썬은 변수나 함수명으로 이 스네이크 케이스를 사용하고 모두 문자를 소문자로 사용하는 것을 권장합니다. 사실상..공식문서에서 "Should be" 라고 써서 권장이 아니라 어느정도 강제성이 보인다😂

스네이크 케이스는 파이썬 뿐만 아니 파일명을 명명하거나 전역 상수의 이름을 짓는데도 사용된다.

 

4. Kebab-Case (케밥 케이스)

Daily-Time-Limit : 띄어쓰기 공백을 하이픈(-)으로

 

  • URL, CSS, HTTP 헤더, Package 명 등에 사용
  • 예) Geek Haus -> Geek-Haus

단어가 하이픈으로 연결된 모양이 마치 고기가 꼬치에 연결되어있는 케밥과 비슷하다고하여 지어진 이름이다. HTTP 통신으로 양식화된 데이터를 보내는 form-data의 띄어쓰기 그리고 react-native와 같은 패키지명의 공백을 케밥으로 사용한다.