메소드는 중복된 방식으로 구현되어선 안됩니다.

 

두 메소드가 동일한 방법으로 구현되는 경우, 실수인지 의도한 것인지 알 수 없습니다. 중복한게 의도한 것이라면, 둘 중 하나의 구현체가 다른 구현체를 호출하는 방식으로 구현되어야 합니다. 숫자나 문자 리터럴은 고려되지 않습니다.

규칙을 어긴 코드

private final static String CODE = "bounteous";

public String calculateCode() {
  doTheThing();
  return CODE;
}

public String getName() {  // 규칙을 어긴 코드
  doTheThing();
  return CODE;
}

규칙을 준수한 해결책

private final static String CODE = "bounteous";

public String getCode() {
  doTheThing();
  return CODE;
}

public String getName() {
  return getCode();
}

예외

getter, setter 같은 접근 메소드가 아니고 statement가 2개 미만인 경우 무시됩니다.


If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project