오늘은 최종프로젝트 1일 차이다. 진행한 내용은 다음과 같다.
1. Code Convention 및 Github Rules 작성
2. wireframe, erd 작성
1. 최종프로젝트인 만큼 시작부터 팀원과의 Code Convention을 작성했다. 어떤 Rule을 바탕으로 코드의 꼬임을 없앨 것인지 정하기 위해서이다.
Code Convention은 다음과 같다.
### Entity
- `@Setter` 사용 금지
- `@Builder` 패턴 ?
- 팩토리 메서드 ?
### Response
- Custom ResultCode 사용
- Custom ResponseEntity 사용
- code : 서비스 코드값
- 도메인 첫 글자 대문자 + 0(성공) / 1 (실패) + XX ( 0~99 하위 기능) + XX (0~99 식별자값 )
예시 : 회원가입 성공 - U00100 / 실패 (아이디 중복) - U10100
로그인 성공 - U00200 / 실패 (로그인 정보 다름) - U10200
- message : 응답 메시지
- data : 응답 데이터
- api 1개당 dto 1개씩 (req, res)
- 단건 조회 `@Pathvariable` 사용
- 요청할 데이터가 1개일 경우만 해당
- 2개 이상은 Dto에 담아서 요청
## 이름 (Naming)
1. 식별자에는 영문/숫자/언더스코어만 허용
2. 한국어 발음대로의 표기 금지
3. 패키지 이름은 소문자로 구성
4. 클래스/인터페이스 이름에 대문자 카멜표기법 적용
5. 클래스 이름에 명사 사용
6. 인터페이스 이름에 명사/형용사 사용
7. 테스트 클래스는 'Test’로 끝남
8. 메서드 이름에 소문자 카멜표기법 적용
9. 메서드 이름은 동사/전치사로 시작
10. 상수는 대문자와 언더스코어로 구성
11. 변수에 소문자 카멜표기법 적용
12. 임시 변수 외에는 1 글자 이름 사용 금지
13. **static import에만 와일드 카드 허용**
다음으로는 github Rules를 정하기 위해서 팀원과의 회의를 진행했고 다음과 같다.
협업 규칙
- 슬랙으로 공유 후에 Git Issue 생성하기
- 커밋 메세지는 자세히 구분해서 작성하기
- Pull Request 작성 후, 다른 팀원들에게 코드 리뷰받은 후에 merge 하기
- 통과시킨 코드에서 문제가 발생하면 모두의 책임이라는 생각하기
- 테스트 코드 작성 후 PR 하기
[PR과 커밋은 최대한 작은 단위로 쪼개기]
PR과 커밋은 최소 작업단위를 기준으로 작으면 작을수록 좋습니다.
- 1개의 커밋에는 1개의 행위만 들어 있는게 좋습니다
- 1개의 PR에는 1개의 작업만 들어 있는게 좋습니다
Branch 이름 규칙
- Branch 이름 예시: feat/#1-user-signup
Commit 메시지 규칙
작업 타입 작업내용
🎉 init | 없던 파일을 생성함, 초기 세팅 |
✨ update | 해당 도메인에 새로운 기능이 생김 |
♻️ refactor | 코드 리팩토링 |
🩹 fix | 코드 수정 → 알고리즘이나 로직 같이 변경됨 |
🐛 bugfix | 버그 수정 |
🚚 move | 파일 옮김/정리 |
🔥 del | 기능/파일을 삭제 |
🍻 test | 테스트 코드를 작성 |
💄 style | css |
🙈 docs | gitignore, readme 등 문서 수정 |
🔨script | package.json 변경(npm 설치 등) |
🐻gradle | build.gradle 수정 |
- Commit 메시지 예시: #1 [update-유저] 회원가입 구현
- PR을 작성할때
## 개요
## 작업사항
## 변경로직
### 변경전
### 변경후
## 사용방법
## 기타
주로 git에서 시작하려는 부분에 대해 이슈를 등록하고 그 이슈를 바탕으로 어떤 기능을 구현했는지 구현하는 과정에서 merge 했들때 어떤 Conflic이 발생했는지 자세하기 알기 위해서 커밋을 작은 단위로 쪼개서 하기로 했고, branch 역시 그에 맞는 업데이트를 진행하기 위해 브렌치명도 이슈에 관련된 브렌치로 생성하고 코드작성을 진행하기로 했다.
2. 아이디어 회의를 바탕으로 결정된 경매식 티켓 예매 주제에 관해서 ERD와 Wireframe을 작성했고 정보는 아래와 같다.
초기 ERD를 만들 때는 몰랐지만 만들다 보니 구성 하나하나에서 신중했어야 했기에 만드는 과정에서 의견에 대한 견해가 각자 달랐고 어떤 부분에 대해서 구성하는지 점점 했갈려했다. 뭔가 깔끔한 ERD는 아니지만 일단 완성했다는 것에 1일 차를 마무리했고 또한 와이어 프레임 역시 최종프로젝트에 걸맞게 하나하나 수정해 가면서 디자인에 신경을 썼다.
'내일 배움 캠프' 카테고리의 다른 글
2024-01-08 (2) | 2024.01.09 |
---|---|
2024-01-05 (0) | 2024.01.06 |
2024-01-03 (1) | 2024.01.04 |
2024-01-02 (2) | 2024.01.03 |
2023-12-29 (0) | 2023.12.29 |