백엔드 협업 규칙 - DevCamp2Flame/FlameTalk_Server GitHub Wiki

개요

  1. Spring Project MetaData
  2. 개발 환경
  3. Issue
  4. PR
  5. branch
  6. commit
  7. Pair Programming

Spring Project MetaData

  • Group: com.devcamp
  • Artifact: flametalk
  • Name: {서버이름}
  • Package name: com.devcamp.flametalk

개발 환경

  • 언어와 버전: Java 11

  • 빌드 도구: Gradle

  • Packaging: jar

  • 버전 컨트롤 시스템: Git

  • 테스팅: nGrinder

  • 정적 분석 도구: SonarQube

    • PR 생성 전, 로컬에서 한번 사용해본다.
  • 코드 컨벤션: Google CheckStyle

    • 도저히 개선할 수 없는 경우가 아니라면 컨벤션을 지켜 커밋한다.
    • 단축키: Ctrl +Alt + L

Issue

Setting - Options 에서 설정한 Issue template에 맞춰 작성합니다.

PR

코드 리뷰까지는 안하지만 PR 제목과 description을 의미있게 작성한다. 리뷰어 지정만 해주고 merge는 자유롭게 가능하다. Squash merge 방식 사용 PR은 즉각적이 아니더라도 확인하고 필요에 따라 코드 설명을 요청할 수 있다.

branch

ex) feature/user-login

  • master : 제품으로 출시될 수 있는 브랜치(마일스톤 단위로 Tag)
  • develop : 다음 출시 버전(마일스톤)을 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치
  • feature/{서버이름}-{기능명}

참고

commit

ex) [#22] feat: commit message

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서 수정
  • style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우(formatting, missing semi colons, …)
  • refactor: 코드 리팩토링
  • test: 테스트 코드, 리팩토링 테스트코드 추가 (when adding missing tests)
  • chore: 빌드 업무 수정, 패키지 매니저 수정 (maintain)

Pair Programming

채팅서버 개발 -> Pair Programming

ex)

git commit -m "Commit message
Co-authored-by: SuyeonChoi <[email protected]>

Co-authored-by: vo0a <[email protected]>"