Skip to content

[refactor] 레전드 리팩토링 시즌 2#165

Open
H0sungKim wants to merge 48 commits intodevelopfrom
refactor/#164-legend-refactoring-2
Open

[refactor] 레전드 리팩토링 시즌 2#165
H0sungKim wants to merge 48 commits intodevelopfrom
refactor/#164-legend-refactoring-2

Conversation

@H0sungKim
Copy link
Contributor

@H0sungKim H0sungKim commented Feb 9, 2026

🎯 Related Issues

📋 Description

주요 변경사항

DTO

  • DTO는 폴더링 다시 했습니다. 기존에는 원래 Swagger UI에 정리된 대로 했었는데 한 DTO가 여러 Service에 사용되는 경우 폴더링 하기가 애매해서 그냥 도메인 기준으로 폴더링 나눴습니다. 개인적으로는 더 보기 쉬운 것 같더라고요.
  • 또 DTO에서 가끔 BaseResponse부분까지 해놓은 애들이 있길래 그런 애들 조금 정리했습니다.

API

  • parameter _ 로 숨긴 애들이 많았는데 명시하는게 좋을 것 같은 애들 조금 바꿨어요. 그것 외에는 크게 바뀐것은 없고 가독성 개선 정도만 했습니다.

Service

  • BaseResponse에서 Data 뽑아내는 함수였던 extractData 이름을 mapBaseResponseData로 바꿨습니다.
  • 함수 순서 Swagger UI랑 동기화했습니다.
  • API랑 동일하게 parameter 명시하는게 나을 것 같은 애들 명시했습니다.

Repository

  • Service와 비슷하게 함수순서 Swagger UI랑 동기화했고 parameter 명시하는게 나을 것 같은 애들 명시했습니다.
  • DTO -> Entity 변환 과정 가독성 좀 좋게 고쳤어요.

Entity

  • Entity가 Presentation에서 사용하는 실제 데이터여야하는데 그냥 DTO를 그대로 언래핑만 한 경우가 많아서 좀 더 사용하기 편한 형태로 바꿨습니다. (예 url:String -> url: URL?)
  • 거의 비슷한 Entity들 최대한 하나로 합쳤습니다.

UseCase

  • 비즈니스 로직 기준으로 다 나눴습니다.
  • 함수를 callAsFunction으로 다 만들어서 객체 변수 자체를 함수처럼 사용하도록 변경했습니다.

Presentation

  • Presentation계층 부분은 제 쪽만 좀 리팩했어요

💬 To Reviewers

  • 제가 막 여러분들 코드 마구잡이로 헤집어놨으니까 본인 코드 부분 특히나 유심히 보고 마음에 안 들면 편하게 말씀해 주세요. 저와 건설적이고 즐거운 코딩 토론 해봅시다 ~~ ^0^
  • [refactor] ViewControllerFactory 구현부 DIContainer로부터 분리 #154 얘 변경사항도 포함되어 있어서 얘 머지되면 리뷰 해주세요~~

* AuthAPI 리팩 완료
* BookmarkAPI 리팩 완료
* CollectionAPI 리팩 완료
* unwrap 함수 단순화
이전에는 Swagger UI 기준으로 나눴으나, 여러 API에서 사용되는 DTO의 경우 폴더링하기 애매하여 DTO 폴더링 기준을 도메인 기준으로 나누는 것으로 변경하였음.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

1 participant

Comments