2018. 7. 16. 15:40ㆍJavascript/Javascript dev Tools
안녕하세요 쿠폰파파입니다!
오늘은 Javascript (자바스크립트) 로 개발을 하는 분들이 코딩 컨벤션을 위해 쉽게 사용할 수 있는 ESLint (ES린트) 에 대해 설명을 드리려고 합니다!
코딩컨벤션
코딩컨벤션은 개발자들이 코드를 작성할 때 코딩 스타일을 제시하는 가이드라인 입니다.
코딩컨벤션의 장점은 (1) 버그를 줄이고 (2) 유지보수가 원활하며 (3) 가독성을 높여줍니다.
각 회사별로 컨벤션을 정하는 경우도 있고 파이썬과 같이 공식 컨벤션을 정해서 사용하는 경우도 있습니다. 큰 회사들 또는 스타트업들은 대부분 컨벤션이 정해져있지만 작은 스타트업들의 경우 컨벤션이 정해져 있지 않는 경우도 많습니다. 그러다보니 각자의 스타일에 따라 코딩을 하게 되고 문법도 맞지 않아 추후 신규 개발자가 들어오거나 협업이 필요할때 불편함이 많이 생깁니다.
ESLINT
ESLint 는 Javascript 언어의 코딩컨벤션중의 하나로 현재 나와있는 컨벤션중 제일 유명하고 활용도가 높습니다. ESLint 의 장점은 기본적인 컨벤션 외에 추가로 각 회사의 스타일에 맞게 설정이 가능하기 때문입니다.
먼저 ESLint 는 npm에서 패키지 형태로 설치가 가능합니다.
설치가 완료되면 기본 세팅을 하기 위해 --init 를 실행 시킵니다.
--init 을 실행시키게 되면 ESLint 가 먼저 여러개의 질문들을 물어보게 됩니다. 대답에 따라 기본 세팅을 해주기 위해서죠! 당황하지 마시고 천천히 대답하세요~~ 각 질문 하단에 번역을 해두었습니다!
--init 명령어가 끝나면 패키지를 설정한 디렉도리에 .eslintrc 라는 파일이 생겼을거에요!
아래 내용은 쿠폰파파에서 실제로 사용하고 있는 eslint 설정값들입니다. 저희는 React, Node, ES6 등 다양한 것들을 사용하고 있어 해당 내용들이 반영된 것을 확인할 수 있습니다!
기본 설정 외에 각자의 룰을 추가하고 싶다면 위의 "rules" 부분에 추가하시면 됩니다.
예를 들어 저희는 indentation 을 2개의 spacing 으로 간주하기로 해서 "object-curly-spacing": [2, always"] 라고 지정을 했습니다.
또한 한 줄의 코드가 120자 이상을 넘어가지 않도록 규정을 지어서 "max-len": [2, {code:120}] 이라고 또 추가하였습니다 ㅎㅎ
그외에 ESLint 에서 제공하는 Rule 들은 아래 링크에서 확인하실 수 있습니다!
https://eslint.org/docs/rules/
자 그럼 이제 ESLint 도 설치했으니 한번 실행을 해봐야겠죠?
실행은 위와 같이 간단하게 어떤 JS파일을 돌릴 것인지 지정해주면 됩니다.
그럼 ESLint 설치 끝!
나만의 룰을 만들어서 수동적으로 매번 그것을 지켜 나가면서 해도 좋고, ESLint 같은 패키지를 이용해서 설정을 해도 좋습니다!
모두가 다 깔끔하게 규칙에 맞게 코딩하는 그날까지!! :)
[출처] [쿠폰파파] ESLint 설정 및 사용하기|작성자 쿠폰파파