AngelPlayer`s Diary

새로운 언어에 대한 공부를 시작할 때 개인적으로 규칙에 많이 얽매이는 것 같습니다.

 

변수 이름 선언이나 들여쓰기 규칙 등은 실행함에 있어서 큰 문제는 없지만,

아무래도 코드를 만들어 놓고 일정한 규칙이 없으면 보기도 불편하고 무엇보다 이쁘지가 않으니까요.

 

또한 깃허브 등에 코드를 업로드하거나 업로드 된 자료를 볼 때 다른 사람이 한눈에 쉽게 이해할 수 있도록 작성 되는 것이 아무래도 더 나은 코드라고 할 수 있을 것입니다.

 

이러한 이유로 '코드는 이렇게 쓰자!'라는 약속을 정하기 위해 생긴 것을 코딩 스타일(Coding Style), 혹은 코딩 컨벤션(Coding Convention)이라고 합니다.

 

 

오늘은 자바스크립트(JavaScript) 코딩 컨벤션을 가지고 있는 에어비엔비, 네이버, 그리고 standardJS에 대해서 이야기해볼까 합니다.

 

 

 

1. 에어비엔비 (Airbnb)

에어비엔비는 가장 유명한 코딩 컨벤션 중 하나입니다.

 

유명한 회사이기도 하고, 규칙이 세부적인 것 까지 정말 잘 짜여져 있기 때문에 많은 사람들이 처음 JS를 공부할 때 한 번쯤은 확인해보는 사이트 입니다.

 

 

airbnb/javascript

JavaScript Style Guide. Contribute to airbnb/javascript development by creating an account on GitHub.

github.com

 

아쉬운 점이라면 외국계 회사이기 때문에 한국어를 지원하지 않는다는 점입니다만, 코드만 보더라도 어느 정도 이해할 수 있도록 잘 되어 있습니다.

 

 

만약 한글로 된 정교한 문서를 읽고 싶으시다면 친절하신 분들이 번역 해놓은 문서도 있습니다.

 

 

parksb/javascript-style-guide

Airbnb JavaScript 스타일 가이드. Contribute to parksb/javascript-style-guide development by creating an account on GitHub.

github.com

 

 

 

2. 네이버 (Naver)

네이버는 한국에서 가장 강력한 IT회사 중 하나입니다.

 

네이버 역시 코딩컨벤션을 깃허브에 공개하여 제공하고 있는데요,

 

네이버의 경우 에어비엔비의 코딩컨벤션 가이드를 기반으로 만들어져 있습니다.

 

실제로 들어가서 확인해보신다면 거의 유사한 형태의 모습을 가지고 있기 때문에 에어비엔비 코딩컨벤션의 한국어버전이라고 생각하시면 될 것 같습니다.

 

 

naver/eslint-config-naver

Naver JavaScript Coding Conventions rules for eslint - naver/eslint-config-naver

github.com

 

실제로 들어가서 확인해보시면,

 

에어비엔비의 스타일 가이드를 수정하여 사용하고 있음을 알 수 있으며,

 

여러 규칙을 그대로 사용하는 것도 알 수 있습니다.

 

 

 

3. standardJS

사실 저도 이번에 공부를 하면서 자료를 찾다가 처음 알게 된 곳이긴 합니다만, 꽤나 흥미로운 곳이기에 한 번 들어가서 확인해보시는 것도 괜찮을 것 같아 마지막에 넣어보았습니다.

 

 

JavaScript Standard Style

JavaScript Standard Style Sponsored by     English • Español (Latinoamérica) • Français • Bahasa Indonesia • Italiano (Italian) • 日本語 (Japanese) • 한국어 (Korean) • Português (Brasil) • 简体中文 (Simplified Chinese) •

standardjs.com

 

위 사이트들보다는 간단 명료하게 규칙이 정해져 있으며, 흥미로운 규칙으로는 세미콜론(;)을 사용하지 말자는 규칙이 있습니다.

 

사실 이에 관해서 국내외 커뮤니티 사이트의 많은 프로그래머분들께서 다양한 공방론(?)을 펼치고 있는 것 중 하나인데요.

 

standardJS 측에서는 세미콜론이 없으면 오류가 발생할 수 있긴 하지만, 오류를 발생하지 않도록 코드를 잘 짠다면 문제가 없다! 라는 주장을 하고 있습니다.

 

그리고 html, css의 Beautify처럼 코드를 자동적으로 정렬시켜주는 기능도 사용할 수 있도록 제공하고 있습니다.

 

 

 

사실 코드를 작성하는 방법에 정답은 없는 것 같습니다.

 

결국 코드라는 것은 내가 원하는 목표를 실행만 되도록 하면 되는 것이니까요.

 

에디터 역시도 코딩 컨벤션을 찾아보고 '이렇게 해야지'라고 하면서 습관으로 인해 제대로 지키지 않는다거나, 원래 여백은 2칸 띄워쓰기이지만 보기도 불편하고 이동할 때 거슬려서 4칸 탭으로 사용하고 있습니다.

 

하지만 가능한 한 코드를 서로의 약속에 맞게 작성하는 것이 다른 사람에게 질문을 하거나, 코드를 다른 사람과 공유할 일이 생길 때 서로가 더 쉽고 편하게 이해할 수 있을 것입니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band