-
Notifications
You must be signed in to change notification settings - Fork 0
01. Develop Convention
-
fork없이 공통 저장소 사용 -
하나의
issue발행하고develop에서 분기한 브랜치 만들어서 pr 하기 -
pr에 대해 반드시
merge승인 리뷰 1개 이상 받을 것 -
자신의
pr은 자신이merge하기 -
되도록
1issue-1PR, PR에 커밋 수 제한 X, 리뷰하기 좋은 단위로
Git flow 브랜치 전략 기반
-
master: 현재 서비스 버전 (서비스로써 동작할 수 있는 최소한의 필수적인 것들을 갖춘 상태여야 함)
-
develop: 다음
master버전을 위해 개발하는 브랜치로 상시 유지합니다 -
feature: 기능 개발 브랜치 (
develop에 합침) -
(option)release: 이번 출시 버전을 준비하는 브랜치 (
develop에서 분기 후master에 병합) -
(optional)hotfix: 이미 출시한 버전(마스터)에서 발생한 버그를 수정하는 브랜치
같이 정해야 합니다.
<type>/<issue number>/<summary>
- 예시:
feat/#13/signup
<fe/be>/<type>/<issue number>/<summary>
- 예시:
be/feat/#15/member-register
**소스 코드**
feat : 새로운 기능 추가
fix : 버그 픽스
refactor : 로직, 동작 변경 없기 구조적인 변경만 발생했을 경우(효율성 증가, 재사용성 증가 목적의)
style : 코드 의미에 영향을 주지 않는 변경사항 (포맷, 세미콜론 누락, 공백 등)
**코드 외적인 부분**
docs : 문서 수정 (ex: .md, .txt)
chore : 그 외 자잘한 작업 (ex: yml, properties)
ci : CI/CD (ex: travisCI, github-actions 등)
build : 시스템 또는 외부 종속성에 영향을 미치는 변경사항(npm 같은거 말하는 듯)
test : 테스트 코드
커밋 제목
- 50자 이하
- 마침표 x, 개조식 구문으로 작업 내용을 대표할 수 있게끔 알아서 작성할 것
커밋 내용
-
생략 가능
-
부연설명, 커밋한 이유 작성
-
어떻게 보다는
무엇을왜했는지 작성
같이 구체화 해야 합니다.
제목
- [프론트/백] 제목 / [저자]
내용
-
이슈번호 명시
resolves #이슈번호 -
뭘 했나요?(작업 내용 기재, 최대한 구체적으로)
-
현재 작업을 통해 팀이 반드시 알아야 하는 사항은?
-
질문/요청사항(자율)
댓글
- 리뷰어가 반드시 봤으면 하는 것은? / 중점적으로 리뷰해줬으면 하는 부분은?
- 이거 긴가민가해요. 잘 모르겠어요
- 이 부분 어떤가요? 중점적으로 봐주세요
예시
-
feature->develop:squash merge -
develop->master:rebase merge
PR 저자
-
의미있는 커밋 단위와 제목/메시지로 리뷰어의 원활한 리뷰를 돕는다.
-
리뷰를 원하는 시점에 리뷰 요청을 한다.
-
리뷰어가 상세하게 봐줬으면 하는 부분을 반드시
pull request에 명시한다. -
개선 / 수정에 대해 리뷰를 받고 반영한 후 반영 여부를 반드시 알려준다.
-
자기 분야 개발자(백/프론트) 모두의
Approve가 있을 경우 발행자가pull request를merge한다.- 또는 개발자들을 위한 한 명의 리뷰어를 고정으로 둔다던가, 3명이라면 각자의 담당
일진리뷰어를 두는 것도 좋아보임
- 또는 개발자들을 위한 한 명의 리뷰어를 고정으로 둔다던가, 3명이라면 각자의 담당
리뷰어
-
리뷰 요청을 받고 가능하다면 즉시 리뷰한다. (되도록 1일내로, 짧은 작업단위면 더 빠르게)
-
필수적으로 변경/수정 해야하는 사항이라면 왜 그런지 설명한다.
-
보며 자신이 배운 부분, 잘한 부분은 칭찬한다.
-
우리의 리뷰 우선순위는 프로젝트 이해 및 버그/오류 식별이다.
- 해당 사항이 아니더라도 알아볼만한, 개선해볼만한 점에 대해 같이 공부할 수 있도록 자유롭게 리뷰한다.
기타
-
폭언, 욕설, 인격모독 금지
-
스타일, 문법, 컨벤션 등 사소한 문제 이외에 사유 or 사실 or 사상 없는 리팩터링, 변경 요청 금지
-
1인 이상의 리뷰
approval이 있어야merge승인토록 설정
같이 정해야 합니다.
-
EX) Google Java Style Guide
-
pull request리뷰 전sonarlint같은 코드분석 플러그인 도입해서 컨벤션 검사 하는 것도 고려해볼만 함
if 문 : if (x == 1) { 코드 한줄 }
- request
- response
- 카멜 표기법
- displayName
- 클래스 마지막 'Test'
class helloTest {
private String hello;
private String world;
void s() {
}
}메서드 간 띄어쓰기 1줄
코드 중간에 주석 작성시 1줄 띄어쓰기
최소한의 Clean Code Rule
예시입니다.
-
하나의 메소드에서 깊이 2 이하만을 허용 (함수 하나에 많은 역할을 부여하지 말란 의미임)
-
축약형 변수명, 메소드명 금지