HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
🐳
[팀 07] 머구리(Meoguri)
/
🎱
WorkSpace
/
🪜
Project Convention
🪜

Project Convention


 
  • 패키지구조 고민하기
    • 참고 - 토스ㅣSLASH 22 - 지속 성장 가능한 코드를 만들어가는 방법
  • Validation 어떻게 처리할지 고민하기
    • 우선순위
        1. 도메인 (유효성 검사)
        1. 서비스 (비즈니스 로직 검사)
        1. 컨트롤러(DTO)
  • API 반환 레핑하기 ResponseEntit<>
  • 테스트 코드
    • 테스트 메서드 이름은 구체적으로. (예시 : 이름이_공백인_숙소_생성_실패)
    • 접근제어자 표기
    • 값 객체 테스트 방식
      • Email email = new Email("aaaa@gmail.com"); assertThat(email).isEqualTo(new Email("aaaa@gmail.com");
    • given/when/then 주석 적용
  • final - 필요한 곳에는 항상 사용
    • class - dtoutil 성 클래스
      • notion image
    • field - 상수, 로직
    • local variable, method paramter - extention
  • OSIV - false
  • dto 클래스 별 파일
  • 계층간 매핑
    • 컨트롤러 dto 요청, 응답 (무적권)
      • MemberRegisterRequest
      • MemberRegisterResponse
      • 조회 응답의 경우 재활용
    • 서비스 dto 요청, 응답 (명확한 경우(CU) - 변수넘기고, RD - 파라미터)
      • MemberRegisterCommand
      • MemberRegisterResult
      • 조회 응답의 경우 재활용
  • 패키지
    • 참고 - 토스 | SLASH 22 - 지속 성장 가능한 코드를 만들어 가는 방법
notion image
 
  • 예외
    • 최대한 있는거 사용하기
  • Service 테스트
    • @Transactional → 제거 가능하다면 제거
    • https://github.com/HomoEfficio/dev-tips/blob/master/Spring-Boot-레이어별-테스트.md
  • properties 관리
    • 환경변수, git submodule