[Clean Code] 프로그래밍 명명 규칙인 Camel Case, Snake Case, Pascal Case, Kebab Case에 대해 알아보자
프로그래밍을 하다 보면 변수, 함수, 클래스 등을 정의할 때 대문자를 쓰거나 언더바('_')를 쓰는 경우를 볼 수 있는데 이에 대해 자세하게 알아보려고 한다.
요약
명명 규칙 | 설명 | 예시 |
Snake_case | 모든 글자를 소문자로 하며, 단어는 밑줄로 구분한다. | new_object, my_website_name, user_profile |
camelCase | PascalCase와 유사하지만 첫 글자는 소문자이며, 공백은 없다. | newObject, myWebsiteName, userProfile |
PascalCase | 각 단어의 첫 글자를 대문자로 이며, 공백은 없다 | NewObject, MyWebsiteName, UserProfile |
Kebab-case | 모든 글자를 소문자로 하며, 단어는 하이픈( '-' )으로 구분한다. | new-object, my-website-name, user-profile |
각각 언어가 선호하는 Case
언어 | 선호하는 케이스 | 예시 |
Python | Snake Case | Class: Pascal Case (MyClass) Others: snake case (my_variable) |
Java | Camel Case | Class, Interface : Pascal Case Others: Camel Case |
JavaScript | Camel Case | Class: Pascal Case (MyComponent) Others: Camel Case (myFunction, myVariable) |
C | Snake Case | Functions and Variables: Snake Case (my_variable, calculate_value) |
C++ | Mixed | Class, Struct: Pascal Case (MyClass, MyStruct) Functions and Variables: Camel Case (myFunction, myVariable) |
C# | Camel Case | Class, Interface: Pascal Case (MyClass, IMyInterface) Others: Camel Case (myVariable, CalculateValue) |
Ruby | Snake Case | Class, Module: Pascal Case (MyClass, MyModule) Others: snake case (my_variable, calculate_value) |
React | Camel Case | Components: Pascal Case (MyComponent) Others: Camel Case (myVariable, handleEvent) |
Go | Camel Case | Struct, Interface: Pascal Case (MyStruct, MyInterface) Others: Camel Case (myVariable, ProcessData) |
Swift | Camel Case | Class, Enum, Struct,: Pascal Case (MyClass, MyEnum, MyStruct) Others: Camel Full (myVariable, calculateValue) |
- * Exception, Class를 지원하는 언어의 경우는 Pascal Case를 사용한다.
- * 상수(Constant)의 경우 대문자와 밑줄로 작성한다. (MAX_NUM)
Snake_case
Snake case는 모든 단어를 소문자로 쓰고, 단어 사이를 밑줄('_')로 연결하는 명명 방식이다. 이 스타일은 주로 파이썬과 같은 프로그래밍 언어에서 변수와 함수 이름에 사용된다. 변수의 형태가 뱀과 같다는 뜻에서 이름이 붙었다. 주로 파이썬과 같은 프로그래밍 언어에서 사용되는 규칙이다. 장점은 가독성이 좋아진다.
예시
- my_variable_name
- calculate_total_sum()
camelCase
Camel case는 단어의 첫 글자를 제외하고 각 단어의 첫 글자를 대문자로 표기하여 단어를 구분하는 명명 방식이다. 이 방식은 낙타의 등과 비슷하다고 해서 Camel Case라고 불린다.
Camel Case는 크게 두 가지 유형으로 나뉜다: Upper Camel Case (Pascal Case)와 Lower Camel Case. 여기서 보통 Camel Case라고 하면, Lower Camel Case를 의미하며 Upper Cemel Case는 Pascal Case로 불리게 된다.
예시
- Upper Camel Case(Pascal Case) : ClassName
- Lower Camel Case : methodName
PascalCase
Pascal Case는 단어의 첫 글자를 대문자로 시작하고, 나머지 글자를 소문자로 표기하는 명명 방식이다. 이 방식은 Pascal 언어에서 사용해서 이름이 붙여졌다. 이 규칙은 공백, 밑줄과 하이픈을 사용하지 않는다. 그래서 대분자로 단어를 구분한다. 특히 자바에서 많이 사용한다.
* 언어를 고사하고 Class 정의는 Pascal Case를 사용한다.
예시
- CustomerService
Kebab-case
Kebab Case는 모든 글자를 소문자로 쓰고 각 단어를 하이픈으로 표기하는 명명 방식이다. 특히 HTML, CSS, URL, 파일 이름 등 웹 기술에서 자주 사용되는 언어이다.
예시
- URL : https://example.com/my-page
- CSS : menu-item
- File Name : my-document.txt
'Coding > Clean Code' 카테고리의 다른 글
[PEP] 함수 Docstring과 Type Hint 작성 방법 (0) | 2024.06.11 |
---|---|
[PEP] Pythonic한 Name Convention에 대해 알아보자 (1) | 2024.06.10 |