Project/공통 사항

CheckStyle과 Formatter를 사용한 Java 코드 컨벤션 수정

sw_develop 2022. 2. 3. 10:55

IntelliJ의 Plugin인 CheckStyle-IDEA를 사용해 Java 컨벤션을 확인할 수 있다.

참고) https://juneyr.dev/checkstyle

 

Formatter 적용 : cmd + option + L

Import 제거 : ctrl + option + O

 

#️⃣ magic number

// 수정 전
HttpClient httpClient = HttpClientBuilder.create()
        .setMaxConnTotal(50)    
        .setMaxConnPerRoute(20) 
        .build();

// 수정 후
public static final int MAX_CONNECTION_TOTAL = 50;
public static final int MAX_CONNECTION_PER_ROUTE = 20;

HttpClient httpClient = HttpClientBuilder.create()
        .setMaxConnTotal(MAX_CONNECTION_TOTAL)    
        .setMaxConnPerRoute(MAX_CONNECTION_PER_ROUTE)
        .build();

→ public static final int 변수 = 값; 으로 따로 빼도록 한다.

https://stackoverflow.com/questions/30044804/checkstyle-with-warning-100-is-a-magic-number

 

#️⃣ parameter should be final

@PostMapping("/signup")
public ResponseEntity<?> signUp(@RequestBody @Valid final UserRequest userRequest) {
  userService.createNewUser(userRequest);
  return ResponseEntity.ok()
      .body(DefaultResponse.of(ResponseCode.OK, ResponseMessage.SUCCESS_USER_SIGNUP));
}

→ 메서드의 인자로 전달된 값이 이후에 재할당되지 않도록 하기 위해 final로 선언하는 것이 필요하다.

https://stackoverflow.com/questions/500508/why-should-i-use-the-keyword-final-on-a-method-parameter-in-java/10380512