- 하나의 프로젝트에서 다른 개발자들이 각자 다른 코딩 스타일로 작성한다면, 제 3자 뿐만아니라 팀원끼리도 코드를 이해하는데 피로도가 생기게 됩니다.
- 따라서 어떤 형태의 문법을 지향/지양 할지, 포맷팅시 쌍따옴표를 사용할지, 몇자마다 줄바꿈 할지... 등의 여부를 고민하지 않고 코드 작성 그자체에 집중하도록 하기 위해 사용하기 위해 필요합니다.
- 이를 개인이 의식적으로 지키기 보다는 강제성을 주어 팀끼리 정한 코드 스타일을 자동화 하기 위해서 자동화 툴인
ESLint
,prettier
를 사용합니다.
📄 정말 간단하게 말하자면, 코딩 스타일 관련 논쟁과 리뷰 등 불필요한 에너지 소모를 줄이고자 코딩 스타일 자동화 툴을 사용하고 이를 통해 개발자들은 코드 작성 그자체에 집중하도록 해준다!
- 일반적으로 Lintting 기능은
ESLint
에, Code Formatting은Prettier
에 일임하는 방식으로 사용
ESLint
는 코드 자체의 문법 교정과 더불어 코드 스타일링 기능도 포함Prettier
는 자동으로 코드의 스타일을 맞춰주는 보다 강력한 기능을 지원
npm install eslint --save-dev
npm install eslint-config-prettier --save-dev
eslint-config-prettier
설치 하는 이유!
eslint에서 formatting 관련 rule들을 모두 해제해주는 eslint plugin 으로 prettier 와 포맷팅 설정 관련 충돌 시 이를 해결해준다.
.eslintrc.*
파일로 커스터마이징할 수 있다.{
"extends": ["react-app", "eslint:recommended"],
"rules": {
"no-var": "error",
"no-multiple-empty-lines": "error",
"no-console": ["error", { "allow": ["warn", "error", "info"] }],
// 콘솔 코드 에러 (warn, error, info 는 허용)
"eqeqeq": "error",
"no-unused-vars": "warn",
"no-undef": "warn"
}
}
npm install prettier --save-dev
.prettierrc.확장자
파일을 통해 설정module.exports = {
printWidth: 100, // printWidth default 80 => 100 으로 변경
singleQuote: true, // "" => ''
arrowParens: "avoid", // arrow function parameter가 하나일 경우 괄호 생략
semi: true, // 세미콜론 사용 여부
useTabs: false, // 탭 사용 여부
tabWidth: 2, // // 탭 너비
};
초기 세팅이 다소 번거로울수는 있지만 딱 한번만 세팅한다면 이후 적용하기 쉽고
개발 생산성 향상에 도움이 된다는 측면에서 Linter 와 formatter 를 적용하는게 좋다.