HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🌟
Programmers 최종 플젝 6조
/
🎨
[백엔드] 컨벤션
🎨

[백엔드] 컨벤션

코드 컨벤션 (라이브러리, 플러그인)


IDE 설정 플러그인
  • intellij-java-google-style
    • intellij-java-google-style.xml
      21.6KB
    • 참고 링크: https://www.notion.so/backend-devcourse/Intellij-Java-9acf2ce17ba84455adc0a38413662006
코드 검사 플러그인
  • Sonarlint
CI 시, 정적 테스트 도구
  • Codacy

코드 컨벤션 (우리가 정한 컨벤션)


💡
나중에 시간나면 근거도 작성하면 좋을 듯 ..ㅎㅎ
  • if문 작성 시 {} 괄호 붙이기
  • 소기능 단위로 줄넘김
  • 클래스 내 첫 줄, 마지막 줄 빈라인 모두 추가
  • 클래스 내 멤버변수는 빈 라인 없이 줄 붙이기
디미터의 법칙 준수
  • 참고 자료 : https://bperhaps.tistory.com/entry/디미터의-법칙Law-of-Demeter이란-뭘까-그리고-왜-지켜야-할까
  • 메소드 매개변수 정렬
    • 2개까지는 한줄
    • 3개부터는 소괄호 기준 모두 줄넘김
  • 메소드의 역할은 최대한 하나만 갖기
  • sql 작성 시 예약어 대문자로 작성
  • service 테스트 코드는 메서드 별로 작성
  • 클래스 내에서 공통인 어노테이션은 메서드별로 작성(@Transaction)
  • 되도록 Rombok 사용
  • 어노테이션 여러개 붙을 시 1줄에 1개씩 작성
    • 매개변수 : 한줄
    • 클래스 레벨 : 여러줄
  • 삼항 연산자는 한줄로 작성
  • DTO-Entity 변환 작업은 Converter 클래스 활용
  • new 키워드를 사용한 객체 생성 지양, 대신 builder 패턴 활용
  • 유효성 검사는 spring bean validation을 통해 RequestDTO, Entity에서 수행
  • DTO 명명 규칙 : 도메인 + 행위 + 요청/응답 → ex) ReviewWriteRequest
    • Repository에서 사용되는 DTO의 경우 : 요청/응답 부분은 제외
    • 위 경우, Read 행위이면 ‘행위’ 부분도 생략
  • 서비스 레이어에서 다른 서비스 레이어의 메서드 사용 금지 (FileService는 예외)