Skip to content

팀 컨벤션

SukHyun Yun edited this page Jan 17, 2024 · 12 revisions

Git & GitHub

Commit message

type 설명
init 프로젝트 초기 설정
feat 새로운 기능 추가
fix 버그 수정, 단순 파일 수정
코드 포맷팅, 오탈자 수정
refactor 리팩토링 진행
style CSS등 UI 디자인 수정
chore 추가 의존성 설치, 문서 수정
remove 파일 삭제
# <타입>: #0 <제목>

# ------------------
#     제목은 최대 50 글자까지만 입력
#     본문은 한 줄에 최대 72 글자까지만 입력
#
#     타입은 영어로 작성하고 제목과 본문은 한글로 작성한다.
#     제목 끝에 마침표(.) 금지
#     제목과 본문을 한 줄 띄워 분리하기
#     본문은 "어떻게" 보다 "무엇을", "왜"를 설명한다.
#     본문에 여러줄의 메시지를 작성할 땐 "-"로 구분
#     관련된 이슈번호는 제목 맨 뒤에 추가한다. ex. (#1)
# ------------------
feat: #1 회원가입 페이지 제작

- 회원가입 페이지 라우팅 처리
- Axios 사용으로 데이터 전송 확인 완료

Branch

main > dev > feature/#00-working/name (기능 단위)

타입/기능 (kebab-case) 형식으로 작성 - refactor/#01-login-page/name

Branch 운영 규칙

브랜치는 merge된 이후 삭제

19시 이후에는 PR 금지

19시 이전 PR은 24시까지 코드리뷰 완료하기

merge는 익일 09시 진행


Code Naming

종류 형식 예시
상수 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

Code Style

규칙 비고
약어 사용 금지 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문 사용 예정 시 팀원 간 공유할 것