-
Notifications
You must be signed in to change notification settings - Fork 4
팀 컨벤션
SukHyun Yun edited this page Jan 17, 2024
·
12 revisions
type | 설명 |
---|---|
init | 프로젝트 초기 설정 |
feat | 새로운 기능 추가 |
fix | 버그 수정, 단순 파일 수정 코드 포맷팅, 오탈자 수정 |
refactor | 리팩토링 진행 |
style | CSS등 UI 디자인 수정 |
chore | 추가 의존성 설치, 문서 수정 |
remove | 파일 삭제 |
# <타입>: #0 <제목>
# ------------------
# 제목은 최대 50 글자까지만 입력
# 본문은 한 줄에 최대 72 글자까지만 입력
#
# 타입은 영어로 작성하고 제목과 본문은 한글로 작성한다.
# 제목 끝에 마침표(.) 금지
# 제목과 본문을 한 줄 띄워 분리하기
# 본문은 "어떻게" 보다 "무엇을", "왜"를 설명한다.
# 본문에 여러줄의 메시지를 작성할 땐 "-"로 구분
# 관련된 이슈번호는 제목 맨 뒤에 추가한다. ex. (#1)
# ------------------
feat: #1 회원가입 페이지 제작
- 회원가입 페이지 라우팅 처리
- Axios 사용으로 데이터 전송 확인 완료
main > dev > feature/#00-working/name (기능 단위)
타입/기능 (kebab-case) 형식으로 작성 - refactor/#01-login-page/name
브랜치는 merge된 이후 삭제
19시 이후에는 PR 금지
19시 이전 PR은 24시까지 코드리뷰 완료하기
merge는 익일 09시 진행
종류 | 형식 | 예시 |
---|---|---|
상수 | UPPER, snack_case | API_KEY |
함수 | 동사, 명확한 네이밍, camelCase | fetchPostData |
파일 | .tsx, 명확한 네이밍, PascalCase | LoginPage |
컴포넌트 | PascalCase | Input |
type, interface | PascalCase | Users |
hooks | use__형식, camelCase | useAxios |
utils | camelCase | validatePassword |
API | camelCase | getPostList |
규칙 | 비고 |
---|---|
약어 사용 금지 | const btn → const button |
커밋 파일 내 주석, console 금지 | console 및 //, /* */ 삭제 요망 |
함수 표현식 (화살표 함수) 우선 사용 | 함수 선언식은 this 바인딩이 필요할 경우 사용 |
배열의 이름은 반드시 ___Array 형태로 명시적 사용 | chat, chats, chatList → chatArray |
boolean값은 is___ 형태로 명시적 사용 | isCompleted |
var 사용 금지, let보다 const를 권장 | 값이 변하지 않으면 const만 사용할 것 |
const는 let보다 상단에 위치 | const constantName = 0; let variableName = 0; |
비동기 처리는 async await 사용 | const promise = new Promise().then().then() → const fetchData = async (url) ⇒ { … } |
문자열 조합은 템플릿 리터럴 작성 | return 문자열: ${stringABC} |
전역 상수는 src/constants/index.ts 파일에서 관리 | |
타입스크립트는 interface를 기본으로 사용한다. | 모든 타입은 types 폴더에서 별도 관리 |
css단위는 rem단위를 기본으로 적용 | |
src 경로는 @로 단축한다. | import Header from @/components/Header |
내부 정의 이벤트는 handle__, | |
props로 전달 받은 이벤트는 on___형식으로 작성한다. | handleClick과 onClick 두 가지를 구분하기 위함 |
블록 구문 내 한 줄 코드 역시 중괄호로 묶어준다. | if (true) { return 1; } |
객체 프로퍼티는 Destructuring로 접근한다. | const {name, age} = userData |
return문은 메인코드 한 줄 아래 작성, | |
또한 early return을 권장함. | 코드 길이로 인한 가독성 측면에서 if-else문 사용 예정 시 팀원 간 공유할 것 |