Javascript: ‘Standard’ coding style을 PyCharm에서 쓰는방법

Jesang Yoon
HBsmith
Published in
5 min readJan 9, 2018

--

Javascript의 세계에 살다가 Python으로 넘어오면서 충격이었던건 Python의 세계에는 PEP8이라는 Coding Standard 기준이 있다는 것이었다. 모두가 따를수 있는 표준(어느정도의 de-facto standard)이 있다는 것은 수많은 사람들이 뭐가 똥인지 된장인지 서로 논쟁하는데 드는 시간을 줄여준다는 점에서 의미가 있다.

Javascript의 세계엔 PEP8 같은 합의된 표준이 없다. 자바스크립트 자체가 자유로운 것처럼 코딩을 어떻게 하느냐도 자유롭다. 그러나 그 자유만큼 혼란도 크다. 그래서 전국시대처럼 여러가지 코딩 스타일이 회사마다, 프로젝트마다 생겨났고 자기가 제일 좋다고 외치는 형국이었다.

이런 고민을 하는건 나뿐만이 아닌것 같다.

코딩 스타일 검사기의 역사도 그랬다. JSLint가 생겨나고 이게 만족스럽지 못해 JSHint가 등장했으며 이게 만족스럽지 못해 JSCSRC까지 생겨났다. 이 역사는 고스란히 너저분한 설정 파일들로 남아 프로젝트를 지저분하게 만든다.

저 많은 숨김파일들을 보라

설정 파일이 n개 있다는 것은 n가지 만큼의 관리가 필요하다는 의미와 같다. 정신 사나운 상태에서 n가지 관리포인트가 늘어진 너저분한 폴더를 바라볼 때, 그리고 설정이 틀어져서 이걸 맞출때마다 받는 스트레스가 몇년씩 이어져 왔다. 돌이켜보면 내가 원하는것은: “그냥 깨끗한 코딩을 하고 싶다” 이었지 스페이스가 2개 들어가냐 4개 들어가느냐 취향을 하루종일 따지는건 아니었다.

최근 요 문제를 HBSmith에선 Standard로 해결했다. 이녀석 역시 진짜 표준은 아니지만 최소한 너저분한 설정 파일이 필요 없으며, 필요하면 알아서 코드까지 고쳐준다.

PyCharm에서 기본적으로 지원하고 있으며 설정하는 방법도 간단하다. 아래는 WebStrom 설정이나 JetBrains는 모든 IDE가 똑같은 모양이기 때문에 PyCharm에도 똑같이 동작한다.

다만 위 가이드에서 빠진게 몇가지 있는데 나중에 까먹을까봐 적어둔다.

1)로컬에 npm으로 standard를 설치해줘야 한다.

$ npm install -g standard

2)Code Warning 에서 Standard를 켜준다.

3)Code Quality Tools에서 앞에서 설치한 standard의 경로를 넣어준다.

4)이제 Code Inspector를 돌리면 아래와 같이 나온다.

5)Fix Standard Code Style Problem을 누르면 한방에 고쳐준다.

멋지지 않는가? 이제 지저분한 옛 코딩 스타일 설정 파일을 모두 지워도 된다. 왜냐면 Standard는 프로젝트별로 설정 파일을 이용하여 코딩 스타일을 Customizing 하는걸 허용하지 않는다. 많은 사람들이 여기에 불만을 제기하지만 그게 싫다면 그냥 옛날방식을 쓰면 그만이다.

다만, Standard가 약간 충격적인건 Statement 끝에 세미콜론(;)을 다는걸 지원하지 않는다는 것이다. 여기에 대한 논쟁이 위에 링크한 Reddit에 있다. 세미콜론이 있는게 좋다는 사람들은 이런 방식이 맘에 안들수도 있다. (왜 이 프로젝트 이름이 하필 Standard냐 라는 이견과 함께)하지만 Standard에 맞춰 프로덕션을 운영한 회사들이 몇년 돌려도 별 불만이 없었다고 이야기하는걸 봐선 그리 나쁜 선택은 아닌것 같다.

튜닝의 끝은 순정이라는 말이 있다. Standard 역시 튜닝의 일종이나 필자 생각엔 그나마 순정에 가깝다고 생각한다. 적어도 Javascript Coding Style 때문에 머리아픈게 싫은 개발자들에게 권하고 싶다.

--

--