Style Guide(Naming Convention)
개발을 진행하면서 어려운 일 중 하나인 네이밍에 관해 정리해보고 싶었다.
진행한 여러 프로젝트를 찬찬히 살펴보니, 똑같은 js 코드를 작성하는데 네이밍이 일정하지 않고, 뒤죽박죽인 것이 보인다..
여러 명이 함께 협업하는 프로젝트일수록, 일관된 네이밍 규칙을 가져가는 것이 코드 가독성이나, 커뮤니케이션을 위하여 필수적이라고 생각한다.
style guide 요소 중 하나인 네이밍은 말 그대로 이름을 짓는 것이다. 개발을 진행하면서 변수, 상수, 함수 등등 수많은 친구들의 이름을 지어주어야 한다. 흔히 사용할 것 같은 변수인 "유저리스트"를 이용하여 예시를 써보자.
var userlist;
var userList;
var Userlist;
var UserList;
var user_list;
var user-list;
한눈에 보이듯, 같은 의미지만 단어를 표기하는 방법은 다양하다.
개발에서 이름을 지어주는 대표적인 방법은 카멜식, 스네이크식, 케밥식, 파스칼식 등이 있다.
1. camel case
카멜식(camel case)은 낙타를 떠올리면 쉽다. 낙타의 등 모양에서 따왔다고 하며 표현식은 다음과 같다.
var userList;
첫 시작은 소문자, 뒤로 구분되는 단어는 대문자로 시작한다. lowerCamelCase라고도 한다.
2. snake case
스네이크식(snake case)은 뱀을 떠올리면 쉽다. 언더바를 이용하며 표현식은 다음과 같다.
var user_list;
소문자로만 작성하며, 구분되는 단어 사이에 _(언더바)를 사용하며 작성한다.
3. kebab case
케밥식(kebab case)은 케밥에 꼬챙이를 끼운 모양이라고 한다. 표현식은 다음과 같다.
var user-list;
소문자로만 작성하며, 구분되는 단어 사이에 -(하이픈)을 사용하며 작성한다.
4. pascal case
파스칼식(pascal case)은 카멜식과 비슷하지만, 첫 단어를 대문자로 시작한다. (UpperCamelCase라고도 한다.)
var UserList;
style guide의 예시로 링크를 남긴다. Google Javascript Style Guide
Google JavaScript Style Guide
google.github.io
위와 같이 네이밍 문법을 정리해보며 알았으니, 새로운 언어를 습득할 때, 해당 언어의 style guide를 먼저 살펴봐야겠다.