- 패키지구조 고민하기
- Validation 어떻게 처리할지 고민하기
- 우선순위
- 도메인 (유효성 검사)
- 서비스 (비즈니스 로직 검사)
- 컨트롤러(DTO)
- API 반환 레핑하기
ResponseEntit<>
- 테스트 코드
- 테스트 메서드 이름은 구체적으로. (예시 :
이름이_공백인_숙소_생성_실패
) - 접근제어자 표기
- 값 객체 테스트 방식
given/when/then
주석 적용
Email email = new Email("aaaa@gmail.com");
assertThat(email).isEqualTo(new Email("aaaa@gmail.com");
final
- 필요한 곳에는 항상 사용- class -
dto
util
성 클래스 - field - 상수, 로직
- local variable, method paramter - extention

- OSIV - false
- dto 클래스 별 파일
- 계층간 매핑
- 컨트롤러 dto 요청, 응답 (무적권)
- MemberRegisterRequest
- MemberRegisterResponse
- 조회 응답의 경우 재활용
- 서비스 dto 요청, 응답 (명확한 경우(CU) - 변수넘기고, RD - 파라미터)
- MemberRegisterCommand
- MemberRegisterResult
- 조회 응답의 경우 재활용

- 예외
- 최대한 있는거 사용하기
- Service 테스트
@Transactional
→ 제거 가능하다면 제거- https://github.com/HomoEfficio/dev-tips/blob/master/Spring-Boot-레이어별-테스트.md
- properties 관리
- 환경변수,
git submodule