Skip to content

컨벤션

SoHyun Park edited this page Nov 4, 2020 · 16 revisions

🤙 컨벤션

코딩 컨벤션

  • 모든 명명은 Camel Case로 통일합니다. (예. 변수명, db명, 테이블명, 칼럼명 등)

🎨 CSS 컨벤션

  • ✅ css id, class 컨벤션

🤙 함수명 컨벤션

[리액트 함수]

onActionObject (on(행위)(대상)) 같은 식으로 명명

예: onSubmitIssue, onChangeTitle

변수명 컨벤션

  • 가급적 단어는 축약형으로 쓰지 않는다. (예외: promise -> prom, event -> e, error -> err)
  • 반복문을 도는 객체의 이름은 가급적 명확하게 해주되, 불명확한 경우 elem으로 통일한다.

↕ PR 컨벤션

  • 모든 PR은 최소 2명 이상에게 리뷰를 받아야만 merge가 가능합니다.
  • 브랜치 전략은 간략화된 gitflow를 채택
    • master: 배포가 가능한 상태의 최종본
    • develop: 기능이 완료되면 머지되는 버퍼존
    • feature: 각각의 기능을 명시한다. 브랜치명은 'feature/<기능명>'
    • fix: 기능 수정시 사용한다. 브랜치명은 'fix/<기능명>'
  • 언어
    • 한국어
  • ✅ PR 템플릿
  • PR시 기존 브랜치 삭제

merge, rebase 관련

feature 브랜치에서 작업하던 중 develop이 업데이트 되는 경우:

  1. 로컬 develop에서 원격 develop을 pull 해온다.
  2. 작업 중인 feature가 있는 경우, 해당 브랜치로 checkout 해서 로컬 develop을 rebase 한다.

🔧 커밋 컨벤션

  • 커밋 구분
    • 커밋은 최소 기능 단위로 분리한다.
    • 백, 프론트가 동시에 작업된 경우, 백과 프론트 파일을 분리하여 커밋한다.
  • 커밋 태그
    • CHORE : 설정, config파일
    • FEAT : 기능관련된 모든, css
    • FIX : 기능관련 버그 수정
    • STYLE : 코드 스타일, 형식 관련
    • DELETE : 삭제
    • DOCS : 문서 작업
    • REFACTOR : 리팩토링
    • CONFLICT : 컨플릭트 해결
  • 언어
    • 영어로 작성
    • 동사 원형으로 시작 (added → add)
  • 커밋 바디
    • why: 해당 커밋 내용이 작성된 이유 및 배경
    • what: 작성한 내용
    • etc: 기타 추가할 내용. (예. 향후 작업 내용, 추가 설명)

커밋 메시지 예시

[FEAT] create a button for submitting login information

[why]
Cuz...

[what]
A button for a login form.

[etc]
The style hasn't been attached yet.

npm 모듈 설치/삭제 컨벤션

  • 새로운 모듈 설치/삭제 시 모듈 관련 이슈에 변경된 모듈과 이유를 기록합니다.