본문 바로가기

Diary/TIL

2024-03-27) 깃 설정과 commit 설정

오늘은 팀과 함께 프로젝트를 시작하는 첫날이었다. 우리는 프로젝트를 효율적으로 진행하기 위해 먼저 규칙을 설정하기로 했다. 이에 따라 git 컨벤션, 코딩 컨벤션, 팀 규칙을 정하고 서비스의 도메인을 설계하여 Git org에 올렸다.

먼저, git org에 공용 git을 생성하고 팀원들을 초대했다. 이후 우리는 브랜치 관리와 커밋 메시지 규칙을 설정했다.

 

브랜치 관리는 다음과 같이,

  • 메인 브랜치: main, develop
  • 기능 개발 브랜치: feature
  • 브랜치 이름 규칙: <branch 타입>/issueNum/영어별칭

커밋 메시지 규칙은 다음과 같이

  • 메시지 타입 명시
  • 제목은 영어로 작성

 개발 프로세스는 다음과 같이 결정했다:

  1. 개발자는 develop 브랜치에서 feature 브랜치를 생성한다.
  2. 기능이 완성되면 develop 브랜치에 pull request를 한다.
  3. 다른 팀원 3명의 승인을 받으면 feature 브랜치를 develop 브랜치에 merge한다.

2,3 번은 git setting을 해줌으로써 다른 사용자들이 의식하지 않아도 가능하게 해주었다.

 

repository 폴더는 각 엔티티에 해당하는 JPA 리포지토리를 포함하며, 간단한 이름 규칙을 따라 구성되었다. 또한, 전체 설정 파일은 global 폴더에 저장되며, config 폴더에는 각종 설정 클래스를 포함하고 있다.

 

마지막으로 프로젝트 구조를 다음과 같이 지키기로 하였다.

  • Domain 폴더
    • Entity: @Setter 사용 지양, 양방향 참조시 한 쪽에 @JsonIgnore 추가
    • DTO: Entity명 + (request, response) + Dto
  • Service와 Controller
    • 명명 규칙: Entity명 + Service, Entity명 + Controller
    • 구현 클래스에는 Impl 사용
  • Repository 폴더
    • 각 엔티티에 해당하는 JPA 리포지토리 포함
  • 설정 파일
    • 전체 설정 파일은 global 폴더에 저장
    • config 폴더에는 각종 설정 클래스 포함

이를 기반으로 코드의 통일성을 높이고 가독성을 높힐 수 있겠다고 생각했다.

처음 정해보는 규칙이었기에 헤맨 부분이 많았지만, 다음에 다시 하면 더 잘할 수 있겠는데? 라는 생각이 들었다. 

'Diary > TIL' 카테고리의 다른 글

2024-03-29) 캐디 배포 시도  (0) 2024.05.12
2024-03-28) 단위 test 구현  (0) 2024.05.11
2024-03-26  (0) 2024.05.10
2024-04-08  (0) 2024.04.09
2024-02-06  (0) 2024.02.06