자동 코드 포매팅
June 19, 2020 - [standard]
프로젝트 코드의 포매팅 스타일을 일관되게 유지하면 코드 가독성을 높이는데 크게 도움이 된다.
자동 포매팅 도구들은 여러가지가 있다. eslint, prettier, standard 등 각 모둘들의 성격이 조금씩은 다르지만 이루고자 하는 목표는 동일하다. 규격화된 코딩스타일을 유지하는 것!
eslint, prettier 등의 디테일한 설정이 귀찮다면 standard 를 이용할 수 있다. standard 는 자바스크립트의 표준화된 코드 스타일을 주장한다. 그래서 특별한 설정없이 제공하는 표준규격을 프로젝트에 바로 적용할 수 있다는 것이 가장 큰 장점이다.
간단하게 사용방법을 공유한다.
설치
yarn add -D standard
규격 검사
standard
자동 포매팅 수행
standard --fix
typescript 를 사용한다면
설치
yarn add -D standardx @typescript-eslint/parser @typescript-eslint/eslint-plugin
검사
standardx --parser @typescript-eslint/parser --plugin @typescript-eslint/eslint-plugin **/*.ts
Note)
- 웹스톰의 경우 standard 를 설치하면 IDE가 자동으로 해당 모듈을 인식하고 해당 프로젝트의 포매팅 설정을 standard 로 설정해 준다.(prettier 의 경우도 .prettierrc 파일을 열면 IDE가 자동으로 인식)
- React 프로젝트의 jsx 인식을 위해서는 별도 설정이 필요한 것 같다(리액트 프로젝트라면 그냥 prettier 사용을 권장한다)
2020/06/29 업데이트
standard의 단점 발견; standard --fix
를 수행할 때 아래와 같은 코드의 경우 첫번째 라인에서 개행처리를 안 해줌 😰
const docs = await go(req.body.users,
map(user => {
const {name, no, group, phone} = user
return User.create({name, no, group, phone})
}),
results => Promise.all(results)
)