Python

[Python] Naming Convention(네이밍 컨벤션) 중요성과 종류

꿈공장장100 2023. 10. 1. 21:51

 

 들어가며

프로그래밍 등을 하다 보면 변수, 함수 등에 대한 이름을 정할 때마다 어떻게 하나 하는 고민이 항상 있습니다. 저 또한 처음에는 솔직히 편한데로 한 경우가 많습니다. 프로그래밍에서 변수, 함수, 클래스 등의 이름을 지을 때 사용하는 "Naming Convention (네이밍 컨벤션)"은 코드의 가독성과 유지 보수에 큰 영향을 미칩니다. 이번 글에서는 네이밍 컨벤션의 종류와 각각의 특징, 사용 사례에 대해 알아보겠습니다.

 

 네이밍 컨벤션의 중요성

프로그래밍에서 공백은 예약된 문자로, 변수나 함수의 이름에 공백을 사용할 수 없습니다. 예를 들어, `number of donuts`라는 변수명을 직접 사용할 수 없으며, 이를 연결해주는 네이밍 컨벤션을 사용해 `numberOfDonuts` `number_of_donuts`와 같이 표현해야 합니다.

 

네이밍 컨벤션의 종류 

 

1. Snake Case

Snake case는 각 단어를 언더스코어(_)로 연결하는 방식입니다. 모든 문자는 소문자로 표현됩니다. Python과 데이터베이스에서 주로 사용됩니다.

예시:

# python

user_name = "Alice"
total_amount = 100

 

2. Kebab Case

Kebab case는 각 단어를 하이픈(-)으로 연결하는 방식입니다. 주로 URL에서 사용됩니다.

 

 

예시:

my-website.com/user-profile

 

3. Camel Case

Camel case는 첫 단어를 소문자로, 그 이후의 단어는 첫 글자를 대문자로 표현하는 방식입니다. Java, JavaScript에서 주로 사용됩니다.

예시:

//javascript

let userName = "Alice";
let totalAmount = 100;

 

4. Pascal Case

Pascal case Camel case와 유사하지만, 첫 단어도 대문자로 시작합니다. 클래스 이름에 주로 사용됩니다.

 

 예시:

public class UserProfile
{

    // ...

}

 

네이밍 컨벤션의 선택 

네이밍 컨벤션의 선택은 사용하는 프로그래밍 언어와 프로젝트의 규모, 팀 내의 합의 등에 따라 달라질 수 있습니다. 중요한 것은 일관성을 유지하는 것입니다.

 

예제: Python에서의 네이밍 컨벤션

 Python에서는 PEP 8이라는 스타일 가이드에 따라 주로 snake case를 사용합니다. 하지만 클래스 이름에는 Pascal case를 사용하는 등의 규칙이 있습니다.

 

예시:

# python

# 변수와 함수 이름에는 snake_case 사용

user_name = "Alice"

def get_user_profile():

    pass

 
# 클래스 이름에는 PascalCase 사용

class UserProfile:

    pass

 

 마무리

네이밍 컨벤션은 코드의 가독성을 높이고, 팀원 간의 협업을 용이하게 만들어줍니다. 각각의 네이밍 컨벤션에는 그에 맞는 사용처와 규칙이 있으므로, 상황에 따라 적절한 네이밍 컨벤션을 선택하여 사용하는 것이 좋습니다.

이 글을 통해 여러분도 네이밍 컨벤션의 중요성과 사용 방법에 대해 알게 되셨길 바랍니다. 행복한 코딩 되세요!

 

동영상

https://youtu.be/R8AfnsdiC-M?si=A41lD27kxmOkiVRL 

 

[참고] 기타 요약

프로그래밍 언어/분야 네이밍 컨벤션 예시 설명
일반/DB Snake
Case
snake_case_naming_convention 모든 문자를 소문자로 작성하고 단어 사이에 언더스코어(_)를 사용합니다. 주로 DB에서 사용됩니다.  
JAVA Camel
Case
camelCaseNamingConvention 첫 번째 단어를 제외하고 각 단어의 첫 글자를 대문자로 작성합니다. 주로 변수와 함수명에 사용됩니다.  
C++ Pascal
Case
PascalCaseNamingConvention 모든 단어의 첫 글자를 대문자로 작성합니다. 주로 클래스명에 사용됩니다.  
HTML, CSS Kebab
Case
kebab-case-naming-convention 모든 문자를 소문자로 작성하고 단어 사이에 하이픈(-)을 사용합니다.  
상수 표현 Scream
Snake
Case
SCREAM_SNAKE_CASE_EXAMPLE 모든 문자를 대문자로 작성하고 단어 사이에 언더스코어(_)를 사용합니다.