Skip to content

BE 코드 컨벤션

Kim Minjoo(김민주/리브) edited this page Jul 11, 2024 · 4 revisions

클래스 가장 상단 한 줄 개행

```java
public class User {

    private final Long id;
    private final String username;

    public User(Long id, String username) {
        this.id = id;
        this.username = username;
    }

    public String getUsername() {
        return username;
    }
}
```

final 은 필드에만 사용한다.

매개변수가 넘어가지 않으면 내려 쓰지 않는다.(구름 컨벤션)

  • 넘어가면 소괄호 다음 엔터

    public Reservation createReservation(
            Long memberId, 
            LocalDate date, 
            Long timeId, 
            Long themeId, 
            ReservationStatus status
    ) {
        ...a
    }

DTO

  • 클래스 명 끝에 DTO를 붙이지 않는다.
  • record로 만든다

인터페이스

  • 메서드 사이에는 공백을 둔다.

    public interface MemberRepository extends JpaRepository<Member, Long> {
    
        Optional<Member> findByEmail(Email email);
    
        boolean existsByEmail(Email email);
    }

VO 필드의 변수명은 value로 한다.

애너테이션(선착순 컨벤션)

  • 먼저 만든 사람의 컨벤션을 따라간다.

테스트 given - when - then 주석을 사용하지 않는다.

테스트 애너테이션

  • @DisplayName을 항상 제일 아래에 둔다.

생성자 순서

  • 기본 생성자
  • 부 생성자
  • 주 생성자

정팩메

  • 생성자 밑에 위치한다.
  • 나머지는 알잘딱깔센 컨벤션

메서드 순서

  • 도메인 메서드 : 호출 순서대로
  • getter
  • setter
  • equals
  • hashCode
  • toString

else는 사용하지 않는다.

indent는 1

삼항연산자는 사용하지 않는다.

RCUD 메서드 순서로 정의한다.