공지
Git Commit 컨벤션
commit message prefix
style
: 코드 스타일 변경 (코드 포매팅, 세미콜론 누락 등)
test
: 테스트 코드, 리팩토링 (Test Code)
refactor
: 리팩토링 (Production Code)
rename
: 파일 혹은 폴더명을 수정만 한 경우
커밋메시지에 지라 이슈번호 넣기
브랜치 전략
PR 관리
<!-- PR 제목 양식 예시: [AIR-N] 회원 기능 도메인 -->
## 🛠️ 작업 내용
-
## 🤔 기타
<!-- PR 포인트 혹은 궁금한 점 등등 적어주시면 됩니다. 없으시면 지워주세요 -->
-
- 브랜치 어디에서 어디로
prgrms-be-devcourse:feature/AIR-N
→ prgrms-be-devcourse:dev
- Approve 전략
- 팀 A 이슈 완료 → 팀 B 에게 PR 요청 → 팀 B 모두 팀 A 의 코드 함께 확인 후 리뷰
페어 프로그래밍 규칙!
코드 컨벤션
도메인
ManyToOne(optional=false)
→ INNER JOIN 으로 성능 최적화 됨(default는 OUTER JOIN)
- @Collumn 관련 설정시 굳이 디테일 하게 작성 하지 않는다.
- 나중에는
ddl-auto:none
으로 하고 schema.sql
활용할 것
서비스 계층
- Service 인터페이스 사용함
- e.g.) 인터페이스
MemberService
, 구현체 MemberServiceImpl
- 클래스에는
@Transactional(readonly= true)
, 수정 메서드에 @Transactional(readonly= false)
→ @Transactional 은 spring거 사용
컨트롤러 계층
- use case 별 dto 는 엔티티 dto 의 static class 로
- e.g.)
AriticleCreateRequest
테스트 코드
- 테스트 메서드 이름은 구체적으로. (예시 :
이름이_공백인_숙소_생성_실패
)
Assertions.isThrownBy
앞에 개행
assertThatAircncRuntimeException()
.isThrownBy(() -> new PhoneNumber(testPhoneNumber));
- 아래와 같이 예외를 앞에 쓰는 형식으로 예외 테스트 작성하기
assertThatExceptionOfType(TripCancelException.class)
.isThrownBy(() -> trip.cancel(guest));
Email email = new Email("aaaa@gmail.com");
assertThat(email).isEqualTo(new Email("aaaa@gmail.com");
메서드 규칙