☑️ 코드 컨벤션
폴더명
함수명, 변수명은 Camel Case로 작성합니다.
자식 폴더명은 Pascal Case로 작성합니다.
타입 및 인터페이스는 Pascal Case로 작성합니다.
함수명
함수명은 동사+명사 로합니다. ex) getName
이벤트 핸들러는 handle + 명사 + 동사로 입니다.
import 정렬 순서는 react > 라이브러리 > component > hook이며, eslint로 설정합니다.
함수 표현 방식은
화살표 함수 + 함수 표현식
을 사용합니다. style
ESLint 규칙은 아래와 같습니다
{ "extends": "next/core-web-vitals", "rules": { "semi": ["error", "always"], "quotes": ["error", "double"] } }
prettier 규칙은 아래와 같습니다
{ "endOfLine": "lf", "singleAttributePerLine": true, "bracketSameLine": true, "trailingComma": "none" }
🖤 커밋 메시지 컨벤션
"헤더: 제목"의 형태이며, : 뒤에만 space가 있음에 유의합니다.
모든 커밋은 [추가, 삭제, 이동, 수정, 구현]으로 끝내야합니다.
헤더 이름 | 설명 |
setting | 프로젝트 첫 세팅 |
feat | 기능 구현
사용자 입장에서 변화가 있을 경우 |
refactor | 사용자 입장에서 변화가 없는 코드
파일명 폴더명 변경 및 이동 |
chore | 주석
추가적인 의존성 설치
기타 |
design | CSS만 수정(UI수정) |
fix | 버그 수정 - 기능의 변화가 있는 경우 |
docs | 문서를 수정한 경우(README) |
coment | 주석 추가 및 제거 |
setting | 개발 환경 변경 |
remove | 파일을 삭제하는 작업만 수행한 경우 |
modify | 변경 - 사소한 변경 |
🫧 Branch 전략

- 브랜치 관리
main > dev > feature (기능 단위)
- 브랜치 명명
feat/#이슈번호/기능명_이름 ex) feat/#12/make-post_이름
- 주의사항
- 브랜치는 삭제합니다.
- 기능명 작성 시, 단어가 여러 개면
-
로 구분합니다. - squash and merge
📝 PR 템플릿
## 📑 구현 사항 - [ ] 구현한 사항 작성 <br/> ## 🚧 특이 사항 - [ ] </br> ## 🚨관련 이슈 #이슈번호
- 스크럼 시간과 코어타임 끝나는 시간에 30분씩 리뷰를 진행합니다.
- 급한 PR은 실시간 요청합니다.
- 코드 리뷰는 1명 이상 받은 후 머지를 진행합니다.
🤔 ISSUE 템플릿
## 📑 배경 - [ ] 구현한 사항 작성 <br/> ## 🚧 구현 사항 - [ ] </br> ## 🚨관련 이슈
⛔️ 디렉토리 구조
alias 절대 경로를 사용합니다. ( /src ⇒
@
, /src/components ⇒ )types
폴더에서는 api 관련 등 공통되는 타입만 관리, 나머지 타입은 각 파일에서 정의합니다. _component
폴더에서는 각 컴포넌트 폴더안의 컴포넌트 파일은 index.tsx파일에 작성합니다.