-
Notifications
You must be signed in to change notification settings - Fork 4
개발 컨벤션
LeeEunyoung edited this page Apr 8, 2024
·
22 revisions
- feat : 새로운 기능 추가
- fix : 기존 기능 수정
- bug : 버그 수정
- refactor : 코드 리팩토링, 파일 삭제
- style : 코드 포맷 변경, 세미 콜론 누락, 오타수정, 네이밍 변경, 콘솔 제거
- chore : 설정 및 기타 작업(패키지 매니저, config, 빌드 등)
- docs : 문서 작성 및 수정
[type] : [subject] ([issue number])
[body]
// example
feat : 실시간 지하철 api 데이터 연결 (#19)
- [type] : commit 타입(소문자로 시작)
- [subject] : commit 제목(한글로 작성, 끝에
.
금지) - [issue number] : 해당 이슈 번호
- [body] : commit 내용(한글로 작성)
.eslintrc.json
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"next",
"plugin:react/recommended",
"airbnb-typescript",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["react", "@typescript-eslint", "prettier", "react-hooks"],
"rules": {
"react/react-in-jsx-scope": "off",
"@typescript-eslint/no-use-before-define": "off",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": [
"warn",
{
"additionalHooks": "useRecoilCallback"
}
],
"react/prop-types": "off"
}
}
.prettierrc.json
{
"printWidth": 80,
"singleQuote": true,
"trailingComma": "es5"
}
- app
- app/page명/pages.tsx
- components
- components/page명/컴포넌트분류명/컴포넌트
- page명, 컴포넌트분류명 : camel case(ex.summaryMap, searchBox)
- 컴포넌트 : pascal case (ex.RouteCard, DetailRoute)
- public/assets
- assets/icons/ic_shape_status_color.svg (status, color 가 없으면 생략)
- png : figma에서 4배수로 export
- 작업 전에 이슈 생성
- branch를
이름/생성한 이슈 내용
으로 생성, kebab case 사용 (ex. nyeongnyeon/route-summary-map) - 작업 후,
git pull orign main
으로 원격저장소 내용 반영 - main으로 pull request 작성
┣ 📂.github
┣ 📂.husky
┣ 📂.vscode
┣ 📂lib
┣ 📂public
┃ ┣ 📂assets
┃ ┃ ┣ 📂icons
┃ ┃ ┗ 📂images
┣ 📂src
┃ ┣ 📂api
┃ ┣ 📂app
┃ ┣ 📂components
┃ ┣ 📂constants
┃ ┣ 📂recoil
┃ ┗ 📂type
┗ 📜etc (setting files)