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

[♻️ refactor/#173]: updateUserFilter 메서드 리팩토링 #174

Merged
merged 1 commit into from
Dec 7, 2024

Conversation

jsoonworld
Copy link
Member

📄 Work Description

  • updateUserFilter 메서드를 리팩토링하여 단일 책임 원칙을 적용했습니다.
    • else 문 제거: if-return 패턴을 도입해 코드의 흐름을 단순화하고 가독성을 향상했습니다.
      • else 문 제거로 중첩된 로직이 사라져, 필터가 존재하지 않는 경우 새로운 필터를 바로 생성하도록 처리했습니다.
    • 업데이트와 생성 로직 분리: 필터 업데이트는 updateExistingFilter 메서드로, 필터 생성은 createNewFilter 메서드로 분리하여 책임을 명확히 했습니다.
    • 중복 제거: Grade.fromKeyWorkingPeriod.fromKey 호출을 한 번만 수행하고, 변환된 값을 매개변수로 전달하도록 변경했습니다.
  • findUser 메서드를 통해 사용자 조회 시, 미조회 상황에서는 커스텀 예외를 던지도록 처리했습니다.

주요 변경점 및 장점

  1. 코드 간결화: else 문 제거와 메서드 분리로 코드가 더욱 직관적이고 깔끔해졌습니다.
  2. 유지보수성 향상: 각 메서드가 하나의 책임만 수행하도록 설계하여 수정 및 확장이 용이해졌습니다.
  3. 재사용성 증가: 중복된 로직 제거로 코드 재사용성이 높아졌습니다.
  4. 효율성 개선: 변환 작업을 단일 호출로 축소하여 성능이 향상되었습니다.

⚙️ ISSUE

📷 Screenshot

Swagger

스크린샷 2024-12-01 오전 11 48 51

Postman

스크린샷 2024-12-01 오전 11 48 01

💬 To Reviewers

  • 이번 작업에서는 else 문 제거메서드 분리를 통해 가독성과 코드 품질을 개선했습니다.

    • if-return 패턴을 적용해 코드의 흐름을 명확히 하고 중복 로직을 줄였습니다.
    • 필터 업데이트와 생성 로직을 분리함으로써 각 메서드가 하나의 책임만 가지도록 했습니다.
    • 또한, 변환 작업(Grade.fromKey, WorkingPeriod.fromKey)을 한 번만 호출하고 매개변수로 전달하도록 개선했습니다.
  • 리뷰를 통해 동시성 처리나 예외 처리와 관련된 추가적인 개선 아이디어가 있다면 공유 부탁드립니다. 🙏

@jsoonworld jsoonworld added ♻️ refactor 코드 리팩토링 ex) 형식변경 🦊장순🦊 labels Dec 1, 2024
@jsoonworld jsoonworld self-assigned this Dec 1, 2024
Copy link
Contributor

@junggyo1020 junggyo1020 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

필터 업데이트와 필터 생성 로직을 각각 메서드 단위로 분리해서 책임이 명확해 졌네요!! 좋은 리펙토링 사안인 것 같습니다. 불필요한 코드가 많이 제거 되어서 가독성 또한 많이 개선된 것 같아요!
수고하셨습니다:)

@junggyo1020 junggyo1020 merged commit 23e0fba into develop Dec 7, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
♻️ refactor 코드 리팩토링 ex) 형식변경 🦊장순🦊
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants