-
Notifications
You must be signed in to change notification settings - Fork 1
02. Convention
임채성 edited this page Sep 12, 2023
·
8 revisions
-
main
: 제품 출시 브랜치 -
develop
: 출시를 위해 개발하는 브랜치-
feat/{기능명}
: 새로운 기능 개발하는 브랜치 -
refactor/{기능명}
: 개발된 기능을 리팩터링하는 브랜치
-
-
hotfix
: 출시 버전에서 발생한 버그를 수정하는 브랜치
dev/feat/login
dev/feat/register
본 프로젝트에서는 <Type>
을 제외한 모든 커밋 내용에 한글 허용.
<type><break or not>: <subject>
<BLANK LINE>
<body>
<BLANK LINE>
제목에는 변경 사항에 대한 간결한 설명이 포함되어 있습니다.
허용하는 타입 <type>
- feat: 기능(feature)
- fix: 버그 수정
- docs: 문서 작업(documentation)
- style: 포매팅, 세미콜론 누락 등.
- refactor: 리팩터링
- test: 누락된 테스트
- chore: 관리(maintain), 빌드 등
브레이크 체인지 여부 <break or not>
브레이크 체인지란: 기존 개발하는 방식과 구현 방식이 변경된 경우.
브레이크 체인지가 존재하는 커밋을 경우, !
를 추가
커밋 바디에 변경사항에 대한 설명을 추가할 것
예시:
-
feat!: 랭킹 점수 계산식 변경
브레이크 체인지 존재하지 함. (확인 필요) -
feat: 로그인 기능 구현
브레이크 체인지 존재하지 않음.
내용 <subject>
- 명령조, 현재 시제 사용
- 끝에
.
없이 작성
예시: feat: 로그인 기능 구현
- 필수 X, 다만
브레이크 포인트
가 존재하는 경우에는 필수 - 명령조, 현재 시제 사용
- 변화에 대한 동기를 포함하고 이전 행동과 대조
-
브레이크 포인트
가 존재하는 경우, 변경 매뉴얼을 작성해야 함
feat: 경매품 업로드 기능 구현
feat!: 랭킹 점수 계산식 변경
기존 계산식은 기여 `횟수 * 영상 시간(분)`이었지만, 기획 변경으로 인해 `횟수 * 영상 시간(초)`로 변경되었습니다.
해당 논의가 포함된 (이슈)[https://github.com/gyeongnam-gyeongmae/server/issues/1]
- 담당자(Assignees) 명시할 것
- Task list 적극 활용할 것.
- 기능 관련 Issue라면 Github Project에 연결하여 진행 상황 공유할 것.
[#<PR 번호>]
변경 사항
- 예시: [#3] 로그인 기능
- 예시: [#11] 회원 엔티티 변경
- Google Java Style Guide를 컨벤션으로 삼고 있습니다. (적용 플러그인 설치)
DDD로 분리
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── demo
│ │ ├── DemoApplication.java
│ │ ├── coupon
│ │ │ ├── controller
│ │ │ ├── domain
│ │ │ ├── exception
│ │ │ ├── repository
│ │ │ └── service
│ │ ├── member
│ │ │ ├── controller
│ │ │ ├── domain
│ │ │ ├── exception
│ │ │ ├── repository
│ │ │ └── service
│ │ └── order
│ │ ├── controller
│ │ ├── domain
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ └── resources
│ └── application.properties
그 외 폴더들(utils, common, error etc.)
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── spring
│ │ └── guide
│ │ ├── ApiApp.java
│ │ ├── SampleApi.java
│ │ ├── domain
│ │ │ ├── coupon
│ │ │ │ ├── api
│ │ │ │ ├── application
│ │ │ │ ├── dao
│ │ │ │ ├── domain
│ │ │ │ ├── dto
│ │ │ │ └── exception
│ │ │ ├── member
│ │ │ │ ├── api
│ │ │ │ ├── application
│ │ │ │ ├── dao
│ │ │ │ ├── domain
│ │ │ │ ├── dto
│ │ │ │ └── exception
│ │ │ └── model
│ │ │ ├── Address.java
│ │ │ ├── Email.java
│ │ │ └── Name.java
│ │ ├── global
│ │ │ ├── common
│ │ │ │ ├── request
│ │ │ │ └── response
│ │ │ ├── config
│ │ │ │ ├── SwaggerConfig.java
│ │ │ │ ├── properties
│ │ │ │ ├── resttemplate
│ │ │ │ └── security
│ │ │ ├── error
│ │ │ │ ├── ErrorResponse.java
│ │ │ │ ├── GlobalExceptionHandler.java
│ │ │ │ └── exception
│ │ │ └── util
│ │ └── infra
│ │ ├── email
│ │ └── sms
│ │ ├── AmazonSmsClient.java
│ │ ├── SmsClient.java
│ │ └── dto
│ └── resources
│ ├── application-dev.yml
│ ├── application-local.yml
│ ├── application-prod.yml
│ └── application.yml