-
Notifications
You must be signed in to change notification settings - Fork 2
백엔드 코드 컨벤션
Eunsol Kim edited this page Jul 14, 2023
·
15 revisions
-
탭 & 인덴트

- 불변해야될 변수에는 final 키워드를 붙힌다. ( 메서드 파라미터 포함 )
- 설정 방법 ( cmd + option + v )

-
기본 Getter의 경우 Lombok
@Getter
어노테이션을 사용한다. -
기본 생성자의 경우 Lombok
@NoArgsConstructor(access = AccessLevel.PROTECTED)
를 사용한다. -
Foreign Key는 사용하지 않는다.
- 의존성 주입이 되는 필드로만 이루어져 있는 객체에 한해서
@RequiredArgsConstructor
를 사용한다.
-
클래스 상단에
@Getter
,@AllArgsConstructor
,@NoArgsConstructor(access = AccessLevel.PRIVATE)
를 사용한다. -
도메인 객체를 리턴하는 getter를 사용할 수 있다.
-
테스트의 범위를 지정한다.
-
인수 테스트
-
단위 테스트
- Layer
- Domain
- Repository
- JPA를 사용하는 Repository 기본 제공 CRUD에 대한 테스트는 제외한다.
-
@DataJpaTest
를 사용하여 진행한다.
- Service
- Mock 테스트를 우선적으로 택한다.
- SpringBoot 테스트가 필요하다 생각하는 경우 공유하고 사용한다.
- etc : Interceptor, ArgumentResolver 의 테스트
- 단순히 의존 객체의 메서드를 호출만 하는 경우는 테스트를 생략한다.
- 코드 리뷰과정에서 적절한지 판단 가능할 것으로 예상
- Layer