Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLEANUP: Refactored ArcusReplKetamaNodeLocator class. #757

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

uhm0311
Copy link
Collaborator

@uhm0311 uhm0311 commented May 14, 2024

SonarLint의 클린 코드 가이드를 기반으로 리팩토링을 진행했습니다.
변경사항이 많아 클래스 하나씩 진행할 예정입니다.

  • final로 선언 가능한 필드를 final로 선언
  • 생성자에서 초기화하지 않아도 되는 필드를 선언과 함께 초기화
  • static final로 선언 가능한 필드를 static final로 선언
  • FIXME 주석의 올바른 문법 적용
  • @Override 어노테이션을 붙일 수 있는 메소드에 해당 어노테이션 추가
  • continuereturn을 이용한 Indent Depth 조절
  • 사용하지 않는 메소드 제거
  • JDK 8의 기능인 Map.computeIfAbsent()와 Stream 기능 사용
  • 주석만을 위해 남겨진 분기에 디버그 로그 추가
  • 메소드의 매개변수 중 실제로는 상수 값이 넘어오는 매개변수 제거 후 FIXME 주석 추가
  • MemcachedNode.closeChannel()에서 try-catch를 사용하는 보일러 플레이트를 메소드화
  • 어색한 메소드 이름 수정 (needToMigrateRange => needToMigrate)
  • Long.hashCode() 메소드의 내부 구현을 하드코딩한 부분을 Long.hashCode() 메소드를 사용하는 것으로 대체
  • 너무 긴 SortedSet 객체 생성자 호출 new TreeSet<MemcachedReplicaGroup>(new ArcusReplKetamaNodeLocatorConfiguration.MemcachedReplicaGroupComparator())를 메소드화
  • 같은 패키지 내에서만 호출되는 public 메소드에서 public 접근 제한자 제거
  • public 메소드에서 매개변수에 직접 assert를 하는 부분을 IllegalArgumentException을 던지도록 수정

@brido4125
Copy link
Collaborator

java8 업그레이드가 릴리즈될 때 까지 리뷰 연기 하겠습니다.

https://github.com/jam2in/arcus-works/issues/523#issuecomment-2110165205

@uhm0311 uhm0311 self-assigned this May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants