refactor: [공방] - 파일 구조 리팩토링 🟡#11
Merged
Conversation
Member
|
/_/\ |
Member
시작부터 압도적인 File Changed 개수와 엄청난 파일 개수에 백스탭할뻔... |
jini-coding
approved these changes
Jan 20, 2026
Member
jini-coding
left a comment
There was a problem hiding this comment.
우려와는 달리 정말 파일 구조만 만져서 file changed 개수 많은건 의미가 없었네요ㅋㅋㅋ
이전엔 정말 잡탕이었던게 이제는 어느정도 잘 정리가 됐네요!
파일 구조화한 걸 보니 정말 고뇌의 시간이 느껴집니다... 같이 의논했으면 재밌었을텐데(?) 아쉽네요
오늘 정말 고생하셨습니다!!
|
|
||
| // MARK: - 네온 사인 템플릿 | ||
| case NeonSignPreView | ||
| case neonSignPreview |
|
|
||
| /// WorkshopTab에서 생성된 viewModel을 받아서 사용 | ||
| init(router: NavigationRouter<WorkshopRoute>, viewModel: WorkshopViewModel) { | ||
| init( |
- Workshop에서 Making관련 라우트 추출 - 템플릿별 라우트 정의 - from 메서드 정의 (문자열 받아서 해당 라우트로 바꿔주는 변환기)
KeryingMakerROute를 정의했고, 이를 사용하기 위해 여러 뷰에서 주입받는 라우터 수정
- Preview 6개 - 중간단계 뷰들 - 페스티벌도 일단 변경
- 일단 .gitkeep으로 폴더 유지
- 카메라피커 ~ 레코딩매니저 등
- Making 공유 모델과 뷰들을 KeyringMaker 모듈로 이동
- WorkshopRoute가 마켓플레이스 기능만 담당하도록 정리함 - preview, coinCharge, myItems 등
``` Workshop/ ├── ViewModels/ │ └── WorkshopViewModel.swift ├── Views/ │ ├── Main/ (7개 파일) │ │ ├── WorkshopView.swift │ │ ├── WorkshopGridHelpers.swift │ │ ├── WorkshopTemplatesView.swift │ │ └── ...Section.swift (4개) │ ├── MyItemsView.swift │ └── WorkshopPreview.swift ├── Components/ │ └── WorkshopComponents.swift └── Coin/ (3개 파일 - 기존 유지) ```
- COre 제거
- 탭바가 프리뷰에서 복귀할때 NavigationRequestObserver 다중 업데이트 충돌 발생
89dd08e to
11c64c8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 PR 내용
Workshop 폴더에서 Making(키링 제작) 기능을 분리하여 KeyringMaker 모듈로 독립시킴
- Workshop 84개 파일 중 Making이 69개(82%) 차지했음
- 마켓플레이스와 키링 제작은 엄밀히 따지면 서로 다른 도메인임!
폴더 구조 변경
BeforeAfter리팩 중 만났던, 네비게이션 문제
초기엔, Route Enum도 분리하려고 했습니다.
WorkShopRoute와KeyringMakerRoute로.하지만 SwiftUI NavigationStack 상태 충돌 이슈가 발생했어요.
왜냐면,
WorkshopView에서 하나의 뷰에서 2개의 루트를 쓰게 되거든요.(코인충전같은건 WorkshopRoute / 템플릿 선택부터는 KeyringMakerRoute 이런느낌이죠.)
최종적으로는, Route는 기존 단일
WorkshopRoute를 그대로 씁니다.변경 요약
진짜 레전설로 오래걸렸다. ㄱ...-
📱 스크린샷 (UI 변경 시)
🔗 관련 이슈
✅ 체크리스트