식별자(변수, 함수 등)의 이름을 정할 때 사용되는 네이밍 컨벤션은 코드의 가독성과 일관성을 높이기 위해 매우 중요하다.
잘 지은 이름은 코드를 읽고 이해하는 시간을 단축시켜 프로젝트의 효율성을 높이기 때문이다.
각 네이밍 컨벤션은 프로그래밍 언어나 프레임워크에 따라 권장되는 방식이 다르므로,
네이밍 컨벤션의 종류와 주로 어디에서 쓰이는지에 대해 알아보고자 한다.
1. 카멜 케이스 camelCase
Camel Case는 첫 번째 단어는 소문자로 시작하고, 이후 단어의 첫 글자는 대문자로 시작하는 방식이다.
마치 낙타 등의 혹을 연상시키듯 중간에 대문자들이 솟아있어 Camel(낙타) Case라고 불린다.
Java, Javascript, C#, PHP, Swift 등 많은 언어들이 카멜 케이스를 네이밍 컨벤션으로 채택하고 있다.
예시: studentName
, userInputVal
2. 파스칼 케이스 PascalCase
Pascal Case는 첫 번째 단어를 비롯한 단어의 첫글자를 대문자로 시작하는 방식이다. 이 방식이 카멜 케이스와 유사하여 UpperCamelCase라고도 칭한다.
보통 클래스명이나 타입명, 네임스페이스명 등을 지을 때 주로 사용한다.
예시: StudentInfo
, FileUploadHandler
3. 스네이크 케이스 snake_case
Snake Case는 소문자 단어와 단어 사이를 언더바(_)로 연결하는 방식이다.
Python의 PEP 8 스타일 가이드에서는 이를 권장하고 있으며, SQL에서 컬럼명을 지을 때도 주로 사용된다.
예시: student_name
, user_input_val
💡 스크리밍 스네이크 케이스 SCREAMING_SNAKE_CASE
Screaming Snake Case는 대문자 단어와 단어 사이를 언더바(_)로 연결하는 방식이다.
스네이크 케이스에서 소리지르듯 강조하는 느낌을 줄어 Screaming(외치는) Snake Case라는 이름이 붙여졌다.
주로 상수명을 정할 때 해당 케이스를 사용한다.
예시: MAX_BUFFER_SIZE
, DATABASE_NAME
4. 케밥 케이스 kebab-case
Kebab Case는 소문자 단어와 단어 사이를 하이픈(-)으로 연결하는 방식이다.
이는 하이픈으로 연결된 단어가 꼬챙이에 꿰인 케밥 같아 보여 붙여진 이름이다.
보통 HTML, CSS 혹은 URL에서 많이 사용된다.
예시: margin-right
, /event-calendar
💡 URL 슬러그로 케밥 케이스를 사용하는 이유
검색 엔진은 URL을 분석하여 그 내용을 이해하고 검색 결과에 반영한다.
이에 케밥 케이스는 단어를 분리하고 구조화하여 검색 엔진이 URL을 쉽게 해석할 수 있도록 돕는다.
즉, URL 슬러그로 케밥 케이스를 사용하는 것은 검색 엔진 최적화(SEO; Search Engine Optimization)에서 유리하다는 것이다.
변수와 함수 명명은 개발자이 재량이므로 언어나 프레임워크의 권장 방식에 반드시 맞추어야 하는 것은 아니다.
팀 프로젝트를 진행하고 있거나 이미 작성된 코드를 유지보수할 때엔, 그 방식에 맞춘 네이밍 컨벤션을 지키는 것이 가장 중요하다.
'개발자 커리어 및 교육 > 개발 지식' 카테고리의 다른 글
비동기(Asynchronous) vs. 논블로킹(Non-Blocking) (0) | 2024.03.18 |
---|