-
Notifications
You must be signed in to change notification settings - Fork 7
[BE] Code Convention
Philz edited this page Jul 28, 2022
·
3 revisions
- 파라미터 및 변수에 final을 붙인다.
- Annotation과 함께 사용 시 Annotation 다음에 붙인다.
- 메서드 순서는 다음과 같다.
public class ClassName {
// private static final
// 상수
// 클래스 변수
// 인스턴스 변수
// 생성자
// 팩토리 메서드
// 일반 메서드 (1. public 모두 위로, private 모두 밑으로, 2. 호출 순서)
// getter, setter
// equals, hashCode, toString
}
- Lombok Annotation을 붙일 때, 실제 method 작성 순서대로 사용한다.
ex) NoArgs -> Getter -> Setter
- JPA Annotation은 최상단에 위치하며 (Entity -> Table -> ...) 순서로 사용한다.
-
@Transactional(readOnly = true)
를 클래스 레벨에 붙이고 변경이 필요한 메서드에서만 재정의한다.
- 인수테스트에서는 AssertThat보다 RestAssured Library 활용을 권장한다.
2022.07.28(목)일 기준으로 작성된 Repository 컨벤션입니다
- Hibernate구현체를 바로 사용하지 않고 Spring이 추상화한 JPA Interface를 사용합니다.
Repository
를 사용합니다
이유는 사용하지 않는 메서드를 호출하는 것을 방지하기 위함 (ex. deleteAll)
-
save
,delete
,deleteAll
를 굳이 테스트 하지 않음 -
find__by__Id
등의where
조건문이 단순한 쿼리에 대해서는 테스트를 권장 -
find__by__IdInAnd__Not
등의 조건문이 복잡하거나 실제 쿼리가 예상하기 안 좋은 쿼리는 테스트를 권장