ETC

[코딩 스타일/명명법] Camel case(카멜 케이스) vs. Snake case(스네이크 케이스)

쟈비쓰 2021. 9. 1. 09:59
728x90

코딩하다가 변수를 선언할 때 변수명은 띄어쓰기가 없어야 하기 때문에 가독성이 떨어진다.

그럼에도 최대한 직관적인 변수명을 설정하기 위해, 언더바(_) 또는 대소문자를 이용한다.

 

흥미로운 점은 사람들이 파이썬 변수명에서는 언더바를 많이 활용하는 반면, 

C언어에서는 주로 대소문자로 구분한다고 느꼈다.

찾아보니 저 두 방식을 각각 'Snake case', 그리고 'Camel case'라고 부른다.

 

 

둘의 특징을 비교하면 아래와 같다.

 

1. Snake Case (스네이크 케이스)

변수명이 소문자와 언더바(_)로 이루어진 경우이다.

예를 들면,

snake_case
use_underbars_in_between

apple_price = 1500

아마 언더바 때문에 길게 늘어져 보이는 걸 뱀의 모습과 유사하다고 한 것 같다.

보통 Python과 같은 스크립팅 언어는 Snake case의 이용을 장려하는 편이라고 한다.

 

참고로 대문자와 언더바로 작성하는 것은 screaming snake case라고 부른다.

(e.g. Java - INTEREST_RATE)

 

 

2. Camel Case (카멜 케이스/캐멀 케이스)

이 방식은 대소문자로 단어의 시작을 나타내서 낙타의 혹처럼 생긴 걸로 이름이 붙여졌다.

 

 Camel case의 예시는 아래와 같다.

camelCase
iterationCount

numApple = 7

일반적으로 소문자로 시작하는 것을 Camel Case, 대문자로 시작하는 것을 Pascal Case라고 한다.

 

그런데 자료를 찾다보니 첫 글자를 소문자로 하는 경우를 lower camel case,

첫 글자가 대문자인 경우를 upper camel case, Pascal case라고 지칭한다는 글도 보였다.

 

이런 Camel Case는 C/C++ 기반의 언어(Java, Kotlin 등)에서 주로 이용한다고 한다.

 

특히 

- lower camel case: 변수명, 메소드명

- upper camel case (Pascal case): 열거형(enum), 클래스, 인터페이스

이렇게 사용한다.

 

 

 

 

* 참고: https://www.theserverside.com/answer/Camel-case-vs-snake-case-Whats-the-difference

728x90