-
Notifications
You must be signed in to change notification settings - Fork 2
커밋 및 코딩 컨벤션
YEJI KIM edited this page Jul 31, 2022
·
1 revision
{
"singleQuote": true, // 홑따옴표 사용
"trailingComma": "all", // 여러 줄을 사용할 때, 후행 콤마 사용
"semi": true, // 세미콜론 사용
"tabWidth": 2, // 탭 너비
"printWidth": 250, // 자동 줄바꿈 하기 전에 한줄에 얼만큼 길이가 적용되도 괜찮은지
"arrowParens": "always", // 화살표 함수 괄호 사용
"bracketSpacing": true // 객체 리터럴에서 괄호에 공백 삽입 여부 예시) const { name , age } = 배기훈
"jsxBracketSameLine": false, // JSX의 마지막 `>`를 다음 줄로 내릴지 여부
"jsxSingleQuote": true, // JSX에서 홑따옴표
}
## Type
- feat: 새로운 기능을 추가할 경우
- fix: 버그를 고친 경우
- design: CSS 등 사용자 UI 디자인 변경
- !HOTFIX: 급하게 치명적인 버그를 고쳐야하는 경우
- style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
- refactor: 기능추가는 없지만 코드 정리 또는 개선
- comment: 필요한 주석 추가 및 변경
- docs: 문서를 수정한 경우
- chore: 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 X)
- rename: 파일 혹은 폴더명을 수정하거나 옮기는 작업만 하는 경우
- remove: 파일을 삭제하는 작업만 수행한 경우
- revert: 이전 커밋으로 회귀할 때 Revert 하게되면 어떤내용을 다시 가져왔는지 상세히 기재하고 맨 마지막을 한칸 띄고 해시값 기재
제목
예시) feat: "localstorage에 nickname 저장 기능 추가"
- 과거형으로 작성하지 않는다.
- 최대 50글자가 넘지 않도록 합니다.
- 마침표는 찍지 않습니다.
- 마지막에 특수문자는 삽입하지 않습니다. 예) 마침표(.), 느낌표(!), 물음표(?)
본문
긴 설명이 필요한 경우에 작성합니다.
- 본문 내용은 양에 구애받지 않고 최대한 상세히 작성합니다.
- 어떻게 했는지가 아니라, 무엇을 왜 했는지를 작성합니다.
꼬리말
이슈가 있고 그것을 처리할 때 기재합니다.
- [#issueNumber]
- 종료 키워드
- close / closes / closed
- fix / fixe s/ fixed
- resolve / resolves / resolved
- HTML: kebab-case
- CSS: kebab-case
- JS: camelCase
- COMPONENT: PascalCase
주석은 설명하려는 구문에 맞춰 들여쓰기 한다.
// Bad
function someFunction() {
...
// statement에 관한 주석
statements
}
// Good
function someFunction() {
...
// statement에 관한 주석
statements
}
문장 끝에 주석을 작성할 경우, 한 줄 주석
을 사용하며 공백을 추가한다.
// Bad
var someValue = data1;//주석 표시 전후 공백
// Bad
var someValue = data1; /* 여러 줄 주석 */
// Good
var someValue = data1; // 주석 표시 전후 공백
여러 줄 주석
을 작성할 때는 *
의 들여쓰기를 맞춘다. 주석의 첫 줄과 마지막 줄은 비워둔다.
// Bad - '*' 표시의 정렬
/*
* 주석내용
*/
// Bad - 주석의 첫 줄에는 기술하지 않는다
...
/* var foo = '';
* var bar = '';
* var quux;
*/
// Good - '*' 표시의 정렬을 맞춘다
/*
* 주석내용
*/
집 짓는 비버들 🦫