백엔드 개발자
Git 컨벤션 & Java 코딩 컨벤션 본문
싸피 공통프로젝트에서 깃과 지라 관리를 담당하여 컨벤션을 정하고 팀원들과 공유하게 되었다.
커밋 컨벤션과 코딩 컨벤션을 정하고 프로젝트에서 gitlab을 사용하였기 때문에 템플릿 작성까지 정리해보겠다.
커밋 컨벤션
feat
: 새로운 기능 추가fix
: 버그 수정docs
: 문서 수정style
: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우refactor
: 코드 리펙토링test
: 테스트 코드, 리펙토링 테스트 코드 추가chore
: 빌드 업무 수정, 패키지 매니저 수정
feat : oAuth 구글 로그인
footer
Resolves: #67 -> 꼬리말
Ref: #64
Related to: #33, #34
유형: #이슈 번호
형식으로 작성- 유형은 다음 중 하나를 사용
유형 예시
제목 태그 이름 | 설명 |
---|---|
Fixes | 이슈 수정 중 (아직 해결되지 않은 경우) |
Resolves | 이슈를 해결했을 때 사용 |
Ref | 참고할 이슈가 있을 때 사용 |
Related to | 해당 커밋에 관련된 이슈 번호 (아직 해결되지 않은 경우) |
- 본문과 꼬리말은 선택사항*
저희는 issue를 위해 꼬리말까지 쓰겠습니다.
예시 )
feat : oAuth 구글 로그인 -> 제목
related to : #1 -> 꼬리말
feat: "로그인 기능 구현" -> 제목
새로고침 시 로그인 유지 기능 개발 -> 본문
Resolves: #67 -> 꼬리말
Ref: #64
Related to: #33, #34
브랜치 네이밍
- master : 제품으로 출시될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치
- feature/기능 : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
—> 우선은 feature/기능 브랜치만 알고 생성해서 사용할 수 있습니다
(이슈번호 추가하여 feature-이슈번호-기능 으로 작성 ⇒ feature-1-구글로그인)
브랜치 네이밍은 gitflow 전략을 활용하였다.
Merge request 템플릿
gitlab 에서 템플릿을 추가하려면 .gitlab 폴더를 만들고
.gitlab > merge_request_templates > 아래에 추가해 주면 된다.
나는 merge_request_template.md 파일을 만들어 두고
## 어떤 이유로 MR를 하셨나요?
- [ ] feature 병합(feature issue #를 남겨주세요)
- [ ] 버그 수정(아래에 issue #를 남겨주세요)
- [ ] 코드 개선
- [ ] 기타(아래에 자세한 내용 기입해주세요)
## 세부 내용 - 왜 해당 MR이 필요한지 자세하게 설명해주세요
- 세부사항을 항목으로 설명해주세요
## MR하기 전에 확인해주세요
- [ ] push 하기 전에 pull 먼저 하셨나요?? (중요 * 100000000000000)
- [ ] reviewer 를 지정하셨나요?
- [ ] local ci test를 진행하셨나요 ?
## relavant issue number
- 관련된 이슈 넘버가 있으면 이곳에 기입해주세요 // #이슈번호
템플릿 내용을 이렇게 만들어 주었다.
Issue request 템플릿
마찬가지로 이슈 템플릿도 만들 수 있다.
.gitlab > issue_templates > 아래에 추가해 주면 된다.
이슈 생성 가이드
- gitlab issue 탭 클릭!!
- 이슈 타입에 따라 description 선택.
- 기능 추가 → feature_request 선택.
- 버그 수정 → fix_request 선택.
- 템플릿에 맞춰서 작성 후 이슈 생성.
=> 이렇게 원하는 템플릿을 선택하여 작성할 수 있고 merge request 도 마찬가지로 mr생성할 때 템플릿 선택하여 작성 할 수 있다.
작업 순서
- jira에서 내 할 일 확인.
- 깃 이슈 생성
- [아래 이슈 생성 가이드 참고]
- 브랜치 생성
- 생성된 이슈 넘버 확인 (예를 들면 #1)
- feature-1-추가할 기능
- 로컬에서 생성한 브랜치로 작업
- 커밋 컨벤션 참고하여 커밋 메시지 작성.related to #1
- → feat : 로그인 기능 화면
- pull request 요청 커밋 메시지
- 이슈 생성 가이드와 마찬가지로 템플릿(pull_request) 선택 후 작성.
이렇게 작업 순서도 정리했었는데 사실 jira에서 이미 이슈를 생성하였기 때문에 git에서 따로 이슈를 생성하지는 않았다.
그래서 브랜치 네이밍을 feature-BE-기능 으로 정하여 작업을 했다.
코딩 컨벤션
코딩컨벤션 https://sihyung92.oopy.io/af26a1f6-b327-45a6-a72b-c6fcb754e219
- 구글 포맷 적용
intellij-java-google-style.xml
- 파일 설치
파일 → settings → editor → code style → java 다운받은 xml 파일 import scheme
tab size , indent 사이즈 4로 변경.
imports → use single class import 체크.
저장할 때 컨벤션 적용 설정.
사용하지 않는 import제거.
- 컨벤션 검사
- 인텔리제이 파일→ settings → plugin → CheckStyle-IDEA 설치
- settings→ tools → checkstyle → google check 선택.
'프로그래밍' 카테고리의 다른 글
WebSocket 프로그래밍 (1) | 2023.06.28 |
---|