Skip to content

[Refactor] 정적 팩토리 메서드 from/of 네이밍 컨벤션 통일 - #316

Merged
pooreumjung merged 5 commits into
developfrom
refactor/#312-from-of-naming
Aug 10, 2026
Merged

[Refactor] 정적 팩토리 메서드 from/of 네이밍 컨벤션 통일#316
pooreumjung merged 5 commits into
developfrom
refactor/#312-from-of-naming

Conversation

@pooreumjung

@pooreumjung pooreumjung commented Aug 10, 2026

Copy link
Copy Markdown
Member

🧾 요약

  • Effective Java 명명 관례(인자 1개 → from, 2개 이상 → of)에 따라, 다인자인데 from으로 명명되어 있던 정적 팩토리 메서드 6개를 of로 통일했습니다.

🔗 이슈

✨ 변경 내용

  • LoginResponse.from(User, TokenIssuance)of (auth)
  • OAuthLoginResponse.from(User, TokenIssuance)of (oauth)
  • AdminMountainListResponse.from(Mountain, long)of (admin)
  • MountainRecommendationResponse.from(Mountain, TrackMetrics)of (mountain) — 단일 인자인 fromDefaultMountain은 유지
  • CourseDetailResponse.from(CourseDetailProjection, boolean, List<...>)of (mountain)
  • FreePostListResponse.from(FreePost, String, Integer, long, long)of (community)
  • 각 호출부(Service) 및 관련 테스트 메서드명/호출부 함께 반영

✅ 확인

  • 빌드 OK
  • 테스트 OK

Summary by CodeRabbit

  • 변경 사항

    • 주요 응답 객체의 정적 생성 메서드 명칭을 from에서 of로 통일했습니다.
    • 관리자 산 목록, 로그인·OAuth 로그인, 게시글 목록, 코스 상세 및 산 추천 응답에 적용되었습니다.
    • 기존 응답 데이터와 로그인·온보딩 판정 등 동작은 변경되지 않았습니다.
  • 테스트

    • 관련 테스트를 새로운 메서드 명칭에 맞게 갱신했으며, 기존 검증 내용은 유지됩니다.

@pooreumjung pooreumjung self-assigned this Aug 10, 2026
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4ff6ab5c-5754-4f18-bfc9-cdd442190d23

📥 Commits

Reviewing files that changed from the base of the PR and between e8ad46a and 51e43d7.

📒 Files selected for processing (16)
  • src/main/java/com/semosan/api/domain/admin/dto/response/AdminMountainListResponse.java
  • src/main/java/com/semosan/api/domain/admin/service/AdminMountainService.java
  • src/main/java/com/semosan/api/domain/auth/dto/response/LoginResponse.java
  • src/main/java/com/semosan/api/domain/auth/service/AuthService.java
  • src/main/java/com/semosan/api/domain/community/post/dto/FreePostListResponse.java
  • src/main/java/com/semosan/api/domain/community/post/service/FreePostService.java
  • src/main/java/com/semosan/api/domain/mountain/dto/response/CourseDetailResponse.java
  • src/main/java/com/semosan/api/domain/mountain/dto/response/MountainRecommendationResponse.java
  • src/main/java/com/semosan/api/domain/mountain/service/CourseService.java
  • src/main/java/com/semosan/api/domain/mountain/service/MountainService.java
  • src/main/java/com/semosan/api/domain/oauth/dto/response/OAuthLoginResponse.java
  • src/main/java/com/semosan/api/domain/oauth/service/OAuthLoginProcessor.java
  • src/test/java/com/semosan/api/domain/auth/dto/response/LoginResponseTest.java
  • src/test/java/com/semosan/api/domain/community/post/dto/FreePostListResponseTest.java
  • src/test/java/com/semosan/api/domain/mountain/dto/response/CourseDetailResponseTest.java
  • src/test/java/com/semosan/api/domain/mountain/dto/response/MountainRecommendationResponseTest.java

📝 Walkthrough

Walkthrough

다인자 정적 팩토리 메서드 6개의 이름을 from에서 of로 변경했습니다. 관련 서비스 호출부와 응답 생성 테스트도 새 이름으로 갱신했습니다. 응답 데이터 구성과 검증 로직은 유지됩니다.

Changes

정적 팩토리 메서드 명명 통일

Layer / File(s) Summary
응답 DTO 팩토리 메서드 변경
src/main/java/com/semosan/api/domain/{admin,auth,community,mountain,oauth}/dto/...
AdminMountainListResponse, LoginResponse, FreePostListResponse, CourseDetailResponse, MountainRecommendationResponse, OAuthLoginResponse의 정적 팩토리 메서드 이름을 of로 변경했습니다.
서비스 호출부 갱신
src/main/java/com/semosan/api/domain/{admin,auth,community,mountain,oauth}/service/...
서비스가 응답 생성 시 from 대신 of를 호출하도록 변경했습니다.
팩토리 호출 테스트 갱신
src/test/java/com/semosan/api/domain/{auth,community,mountain}/...
테스트 호출부와 테스트 메서드명을 of 기준으로 변경했습니다. 기존 응답 검증 내용은 유지했습니다.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Poem

from은 쉬고 of가 왔네
DTO 이름표를 곱게 달았네
호출부도 발맞춰 걷고
테스트도 새 이름을 부르네
작은 변경, 깔끔한 행진!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 다인자 정적 팩토리 메서드의 from/of 네이밍 컨벤션 통일이라는 주요 변경을 정확히 요약합니다.
Linked Issues check ✅ Passed [312] 대상 6개 메서드와 모든 확인된 호출부 및 테스트를 from에서 of로 변경했으며, 기능 로직은 유지했습니다.
Out of Scope Changes check ✅ Passed 변경 사항은 [312]의 정적 팩토리 메서드 이름 통일과 관련 호출부 및 테스트 수정 범위에 포함됩니다.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/#312-from-of-naming

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

📊 테스트 커버리지 리포트

Overall Project 98.94% 🍏
Files changed 100% 🍏

File Coverage
AdminMountainService.java 100% 🍏
CourseDetailResponse.java 100% 🍏
MountainRecommendationResponse.java 100% 🍏
FreePostListResponse.java 100% 🍏
AdminMountainListResponse.java 100% 🍏
OAuthLoginProcessor.java 100% 🍏
CourseService.java 100% 🍏
LoginResponse.java 100% 🍏
AuthService.java 100% 🍏
FreePostService.java 99.5% 🍏
OAuthLoginResponse.java 96.88% 🍏
MountainService.java 95.49% 🍏

@pooreumjung
pooreumjung merged commit e93d8bc into develop Aug 10, 2026
4 checks passed
@howooyeon
howooyeon deleted the refactor/#312-from-of-naming branch August 11, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[refactor] 정적 팩토리 메서드 from/of 네이밍 컨벤션 통일

1 participant