6. 백엔드 코드 컨벤션 - TEAM-PROJECT-ACC/trip-at-five-client GitHub Wiki

작성자 : 이윤서

코드 컨벤션 문서 작성 이유

  • 협업 시 일관된 코드 스타일로 가독성과 유지보수성 향상
  • 코드 리뷰 효율성 증가: 로직 중심의 리뷰 가능
  • 에러 예방: 변수명, 로직 통일로 오류 감소

명명 규칙

구분 규칙

  1. 클래스명 UpperCamelCase 사용
  2. 변수명 lowerCamelCase 사용 또는 _(언더비로 연결)
  3. 상수명 모두 대문자 사용
  4. 패키지명 모두 소문자 사용

Controller 작성 규칙

  • @RestController 사용
  • URL은 명사 + 복수형 (/hotels, /trips, /members 등)

DTO 설계 규칙

  • 사용 목적: 오직 데이터 전달만
  • Entity와의 명확한 분리
  • @AllArgsConstructor, @Getter, @ToString 어노테이션 사용 또는 @Data

Swagger 연동(선택)

  • API를 개발할때 프론트와 원활한 소통을 위해서는 API 명세서가 필수라고 함
  • 메이븐
       <dependency>
		<groupId>org.springdoc</groupId>
		<artifactId>springdoc-openapi-ui</artifactId>
		<version>1.4.6</version>
	</dependency>
  • 사용법

어노테이션을 이용해서 원하는 설명을 적으면 된다. 주로 컨트롤러에 무슨 역할을 하는 컨트롤러인지, HTTP 메서드의 역할, 필요한 파라미터가 무엇인지, 파라미터 값 설명을 입력한다


  • SWAGGER 2와 3의 차이점: 달라진 어노테이션
//어노테이션 변경
@ApiParam -> @Parameter
@ApiOperation -> @Operation
@Api -> @Tag
@ApiImplicitParams -> @Parameters
@ApiImplicitParam -> @Parameter
@ApiIgnore -> @Parameter(hidden = true) or @operation(hidden = true) or @hidden
@apimodel -> @Schema
@ApiModelProperty -> @Schema

//파라미터 변경
value -> description
tags -> name

google style guide 이클립스/스프링부트에 적용하는 방법

(https://github.com/google/styleguide)

  1. 사이트 접속 후 언어를 자바
  2. 해당 파일명 : eclipse-java-google-style.xml 다운로드하고
  3. 이클립스 또는 스프링에 적용(방법은 동일)
    해당 프로그램 실행 후 Windows -> Preferences -> Java ->Code Style -> Formatter
  4. import를 눌러 다운받은 eclipse-java-google-style.xml 파일을 선택 그 상태에서 저장하고 적용된 것을 보기위해서는 Ctrl+Shift+f 또는 Ctrl+i로 코드 정리
  5. checkStyle 플러그인 : help -> eclipse marketplace -> 검색창에 'checkStyle' 입력 후 다운로드
  • Checkstyle이 파일 저장 시 즉시 검사하여 변경 사항에 대한 즉각적인 피드백을 제공합니다. 간단한 비유를 들자면, Checkstyle 플러그인은 컴파일러와 매우 유사하게 작동하지만, .class 파일을 생성하는 대신 코드가 Checkstyle 규칙을 위반할 경우 경고를 생성합니다. 발견된 위반 사항은 Eclipse 문제 보기, 코드 편집기 주석, 그리고 추가 Checkstyle 위반 보기를 통해 확인 가능
⚠️ **GitHub.com Fallback** ⚠️