Code convention, 코드 컨벤션
프로그래밍 언어를 사용하여 코드를 작성할 때 일관성과 가독성을 유지하기 위한 규칙과 가이드라인.
프로젝트 팀이나 개발자 커뮤니티 내에서 협업과 유지보수를 용이하게 하기 위해 중요하다.
아래는 일반적으로 사용되는 코드 컨벤션의 몇 가지 예시.
1. 들여쓰기(Indentation):
코드 블록을 구분하기 위해 들여쓰기를 일관성 있게 사용. 대부분의 언어에서는 공백 또는 탭을 사용하여 들여쓰기를 지정한다.
2. 변수 및 함수명(Naming Conventions):
변수, 함수, 클래스 등의 이름을 명확하고 의미있게 작성. 일반적으로 카멜 케이스(camelCase)나 스네이크 케이스(snake_case)와 같은 표준 명명 규칙을 따른다.
3. 주석(Comments):
코드의 이해를 돕기 위해 주석을 사용하며, 주석은 코드의 목적과 동작을 설명하는 데 활용. 코드가 어려운 부분이나 복잡한 로직을 포함할 때 주석을 적극 활용한다.
4. 줄 길이(Line Length):
한 줄에 들어가는 문자의 길이를 제한하여 코드의 가독성을 유지. 일반적으로 80-120자 사이의 길이를 권장.
5. 공백 사용(Whitespace):
코드 내부의 공백을 일관성 있게 사용하여 가독성을 향상시킨다. 연산자 주변이나 함수 호출 시 간격을 유지.
6. 괄호 사용(Braces):
코드 블록을 나타내는 중괄호의 위치와 사용 방식을 일관성 있게 정의. 대표적으로 K&R 스타일과 Allman 스타일이 있다.
7. 들여쓰기 단계(Indentation Level):
코드 블록마다 얼마만큼 들여쓰기를 할지를 결정하여 코드의 계층 구조를 명확하게 표현한다.
ESLint와 Prettier
컨벤션을 잘 지킬 수 있게 도와주는 도구가 있는데, Vue에서 주로 ESLint와 Prettier를 함께 사용하여 코드의 품질을 강화하고 일관된 스타일을 유지한다.
- ESLint:
ESLint는 JavaScript와 같은 프로그래밍 언어의 정적 분석 도구로, 코드에서 잠재적인 오류, 버그, 스타일 문제를 검출하고 이를 수정하도록 돕는다.
ESLint를 사용하면 코드의 일관성을 유지하고 팀 내에서 특정한 코딩 규칙을 준수할 수 있다.
예를 들어, 변수의 정의되지 않은 사용, 잘못된 들여쓰기, 쌍따옴표와 홑따옴표의 혼용 등을 검사하여 코드 품질을 개선한다.
- Prettier:
Prettier는 코드 포맷팅 도구로, 코드를 자동으로 정렬하고 들여쓰기를 조정하여 일관성 있는 코드 스타일을 유지할 수 있도록 돕는다.
Prettier는 개발자가 별도로 코드 스타일을 결정할 필요 없이, 미리 정해진 규칙에 따라 코드를 자동으로 서식화한다.
이로써 팀 내에서 일관된 코드 스타일을 유지하고, 코드 리뷰에서의 불필요한 스타일 관련 논의를 줄일 수 있다.
WebStrom 플러그인 사용해서 Vue에 ESLint와 Prettier 연동
1. eslint 설정
직접 하나하나 다 설치하고 적용하는 방법도 있지만,
빠르게 자동으로 모듈을 설치하고 싶기 때문에 아래 방법 선택.
npx eslint --init
? How would you like to use ESLint?
To check syntax only
To check syntax and find problems
❯ To check syntax, find problems, and enforce code style
? What type of modules does your project use?
> JavaScript modules (import/export) (바벨을 쓴다면)
CommonJS (require/exports) (바벨을 쓰지 않는다면)
None of these
? Which framework does your project use?
React
> Vue.js
None of these
? Does your project use TypeScript?
> No
Yes
? Where does your code run?
Browser
> Node
? How would you like to define a style for your project?
❯ Use a popular style guide # google, airbnb 등 중 google 선택.
Answer questions about your style
Inspect your JavaScript file(s)
? What format do you want your config file to be in?
JavaScript
YAML
❯ JSON
2. prettier 설정
$ npm install prettier --save-dev --save-exact
// --save-exact는 버전이 달라지면서 생길 스타일 변화를 막을 수 있기 때문
$ npm install eslint-plugin-prettier eslint-config-prettier --save-dev
// eslint-config-prettier: Prettier와 충돌할 설정들을 비활성화합니다.
// eslint-plugin-prettier: 코드 포맷할 때 Prettier를 사용하게 만드는 규칙을 추가합니다.
.eslintrc.json에 아래 내용 추가
{
"plugins": ["prettier"],
"extends": ["eslint:recommended", "plugin:prettier/recommended"],
"rules": {
"prettier/prettier": "error"
}
}
웹스톰 플러그인
1. Prettier 웹스톰에 적용
1. settings - plugins - prettier
2. settings에 prettier 검색 후 manual prettier configuration 선택 후 root\node_modules\prettier 입력.
3. settings - plugins - watcher
4. settings - tools - file watchers에 추가.
- prettier 이름명, 프로젝트 스콥, js 파일 타입.
프로그램 : $ProjectFileDir$/node_modules/.bin/prettier
인수 : -write $FilePathRelativeToProjectRoot$
새로고침할 출력 경로 : $FilePathRelativeToProjectRoot$
작업 디렉터리 : 프로젝트의 루트 디렉토리
고급 옵션은 편집한 파일을 자동 저장하여 감시기 트리거만 체크.
5. 웹스톰 내비 탭 중 코드 - 코드 정리
2. ESLint 웹스톰에 적용
1. settings - eslint 검색 - 수동 설정
수동 ESLint 설정을 체크
ESLint 패키지에 현재 프로젝트 node_modules 에 설치된 eslint 경로를 명시
작업 디렉터리에 현재 프로젝트의 루트 경로를 명시
구성 파일 항목에 현재 프로젝트의 .eslintrc.js의 경로를 명시
저장 시 eslint —fix 실행 옵션 체크
2. 웹스톰 내비 탭 중 코드 - 코드 정리
참고)
https://overcome-the-limits.tistory.com/4
[협업] Prettier & ESLint, Airbnb Style Guide로 코드 컨벤션 설정하기
들어가며 대학교 수업 시간, 교수님은 제게 '일 잘하는 사람의 특징'에 관하여 물은 적이 있습니다. 고심 끝에 "팀원이 일을 잘 진행할 수 있도록 배려할 수 있는 사람"이라고 답했습니다. 지금도
overcome-the-limits.tistory.com
Webstorm에서 ESLint + Prettier 적용하기
이번 포스트에서는 타입스크립트 기반의 NextJS 프로젝트에서 설정된 ESLint와 Prettier를 Websotrm 에디터에서도 적용할 수 있도록 할 것이다.
velog.io
'개발 로그 > Vue.js' 카테고리의 다른 글
Vue 개발 환경 구성, WebStrom 플러그인 추천 (0) | 2023.08.13 |
---|