Skip to content

프로젝트 관련 컨벤션 & Rule

aorri2 edited this page Jan 19, 2023 · 3 revisions

코드 컨벤션

  • Naver Code Style을 적용해, 준수합니다
  • Check Style 플러그인을 적용해 코드 컨벤션을 유지합니다.

🔀 브랜치 관리 전략

  • Git Flow를 사용해 브랜치를 관리합니다. 모든 브랜치는 Pull Request를 토대로 코드 리뷰를 진행한 후 merge를 진행합니다.
  • master : 제품으로 출시 될 수 있는 테스트와 검증을 끝낸 브랜치를 의미합니다.
  • develop : 제품의 다음 출시 버전을 개발하는 브랜치 입니다. feature 브랜치에서 리뷰 완료한 브랜치를 Merge하고 있는 브랜치입니다.
  • feature : 제품 기능 개발을 위한 브랜치 입니다.
  • release : 배포를 준비할 때 사용하는 브랜치 입니다.
  • 'Hot-Fix` : 배포를 진행한 후 발생한 버그를 수정해야 할 때 사용하는 브랜치 입니다.

📝 Git Flow 참고 자료 : 우아한 형제들 기술 블로그

Issue Rule

  • 단순한 리팩토링의 경우에는 Issue를 작성하지않고 바로 PR로 작성한다
    • ex Map<String,Integer> map = new HashMap<>();HashMapConcurrentHashMap으로 수정하는 것과 같은 단순한 수정인 경우, issue로 등록하지 않고 바로 PR을 올린다.

PR Rule

  • 기능 개발은 feature 브랜치에서 진행하며, 브랜치명은 feature/이슈번호-작업내용 입니다.
  • 모든 PR은 리뷰어에게 코드 리뷰를 받아야만 합니다.
  • 리뷰어에게 Approve를 받아야 Merge Pull Request를 할 수 있습니다.
  • Pull Request는 코드 커버리지 70%를 넘겨야 합니다.

Commit Rule

커밋 머릿말 유형

  • feat : 새로운 기능의 추가
  • fix: 버그 수정
  • docs: 문서 수정
  • style: 스타일 관련 기능(코드 포맷팅, 세미콜론 누락, 코드 자체의 변경이 없는 경우)
  • refactor: 코드 리펙토링
  • test: 테스트 코트, 리펙토링 테스트 코드 추가
  • chore: 빌드 업무 수정, 패키지 매니저 수정(ex .gitignore 수정 같은 경우)
  • ci : ci 설정 파일/스크립트 파일 추가 또는 변경

커밋 작성 시 Rule

  • 제목 행을 30자로 제한
    • 커밋 글자를 제한한다는 것은 커밋 히스토리의 가독성을 높이고 커밋 내용이 간단해져, 최소한의 변경만을 포함한 커밋을 만드는데 도움을 줄 수 있어 커밋 제목 글자를 제한합니다.
    • 터미널에서 커밋을 열었을 때, 영어 2글자 ➡ 한글 1글자 정도의 너비를 갖고 있습니다.
    • 따라서, 한글로 커밋을 작성할 예정 이기 때문에 한글 기준 제목 행을 30자로 제한 했습니다.
  • 제목 행 끝에 마침표를 넣지 않는다.
  • 본문은 어떻게 보다는 무엇과 왜를 설명한다.
    • 작업자가 해당 내용을 작업한 내용에 대해 어떠한 사유로 이렇게 작업을 한 것인지 알아야 해당 작업 사항을 더욱 명확하게 알 수 있기 때문입니다.
  • 본문은 60글자 내외로 줄 바꿈 처리를 한다.

커밋 예시

  • [이슈 번호] feat : 커밋 제목 [PR 번호(PR이 존재할 시)]