DSM-PICK / DSM-PICK/PiCK_iOS_ADMIN
TCA 2.0 점진 마이그레이션 계획 수립 및 파일럿 적용
Open
@leejh08 is already working on this.
Since Apr 13, 2026.
♻️refactor
🛠️chore
- Dominant language
- Swift
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Describe
[개요] Point-Free의 TCA 2.0 beta preview를 기준으로 현재 프로젝트의 TCA 1.x 스타일 구현을 점진적으로 마이그레이션한다.
참고 문서
배경
- 현재 프로젝트는
Reducer,Reduce,Effect,.publisher,WithViewStore,viewStore.binding(get:send:)중심의 1.x 스타일을 넓게 사용 중이다. - 전면 전환은 변경 범위와 회귀 위험이 커서 부담이 크므로, feature 단위의 점진 전환 전략으로 진행한다.
목표
- 빅뱅 마이그레이션 없이 feature 단위로 TCA 2.0 스타일을 도입할 수 있는 기반을 마련한다.
- 파일럿 feature 1개를 선정해 실제 변환 패턴을 검증한다.
- 이후 반복 가능한 체크리스트와 코드 패턴을 정리한다.
진행안
- 의존성 및 마이그레이션 경로 확인
- 현재 사용 중인 TCA 버전/호환 shim/모듈 구성을 확인한다.
ComposableArchitecture2도입 가능 여부와 단계별 적용 방법을 정리한다.
- 파일럿 feature 선정
- 변경 범위가 작고 테스트가 있는 feature를 우선 선정한다.
- 후보:
ChangePassword,Signin,OutList
- 파일럿 변환
Reducer/Reduce->@Feature/UpdateEffect반환 기반 비동기 처리 ->store.addTask,store.modify중심으로 전환- 필요 시 response action/중간 액션 축소
WithViewStore/ViewStore기반 view -> 최신 store 바인딩 방식으로 전환
- 검증 및 가이드화
- 기존 테스트를 유지 또는 보강해 회귀를 방지한다.
- 변환 전후 패턴, 주의사항, feature 선정 기준을 정리한다.
완료 조건
- 파일럿 feature 1개 이상이 TCA 2.0 스타일로 전환되어 있다.
- 전환 과정에서 필요한 규칙과 반복 패턴이 문서화되어 있다.
- 남은 feature에 대한 우선순위와 후속 작업 기준이 정리되어 있다.
비목표
- 전체 feature를 한 번에 2.0으로 전환하지 않는다.
- 초반부터 모든 신규 통신 패턴(
events,preferences,triggers,spawn)을 도입하지 않는다.
Additional
[추가사항]
- Point-Free 글은 beta preview 기준이므로, 실제 적용 시 최종 공개 API와 차이가 있는지 다시 확인이 필요하다.
- 파일럿 결과를 바탕으로 다음 이슈를 feature별로 분리하는 방식이 적절하다.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.