Need
UI 아키텍처
Default options
@State, @Environment, 소규모 전용 View 타입으로 역할을 나누는 MV 우선 SwiftUI 구조
Why it's needed
대형 화면은 Codex가 또 다른 뷰 모델 레이어를 도입하기 전에 뷰 트리와 상태 플로우를 단순화하면 대체로 유지 관리가 쉬워집니다.
.md to the page URL.
Codex use case
Codex를 사용해 동작이나 레이아웃을 바꾸지 않고 지나치게 커진 SwiftUI 화면을 작은 서브뷰로 분리하세요.
Codex와 Build iOS Apps 플러그인을 사용해 긴 SwiftUI 뷰를 전용 섹션 뷰로 나누고, 사이드 이펙트를 body 밖으로 옮기며, 상태와 Observation 사용 방식을 안정화하세요. 불필요한 뷰 모델을 도입하지 말고 MV 우선으로 리팩터링하세요.
Codex를 사용해 동작이나 레이아웃을 바꾸지 않고 지나치게 커진 SwiftUI 화면을 작은 서브뷰로 분리하세요.
Codex와 Build iOS Apps 플러그인을 사용해 긴 SwiftUI 뷰를 전용 섹션 뷰로 나누고, 사이드 이펙트를 body 밖으로 옮기며, 상태와 Observation 사용 방식을 안정화하세요. 불필요한 뷰 모델을 도입하지 말고 MV 우선으로 리팩터링하세요.
Codex와 Build iOS Apps 플러그인을 사용해 긴 SwiftUI 뷰를 전용 섹션 뷰로 나누고, 사이드 이펙트를 body 밖으로 옮기며, 상태와 Observation 사용 방식을 안정화하세요. 불필요한 뷰 모델을 도입하지 말고 MV 우선으로 리팩터링하세요.
관련 링크
| Skill | Why use it |
|---|---|
| Build iOS Apps | SwiftUI 뷰 리팩터링 스킬로 전용 서브뷰를 추출하고 안정적인 데이터 플로우를 유지하며 Observation 사용을 단순화하세요. Codex로 큰 SwiftUI 화면을 편집할 때도 동작을 그대로 유지할 수 있습니다. |
이 사용 사례는 SwiftUI 파일이 거대한 화면 하나로 커져 사소한 수정조차 위험하게 느껴질 때를 위한 것입니다. 목표는 기능을 다시 설계하거나 새 아키텍처를 만들어 내는 것이 아닙니다. Codex에 동작과 레이아웃을 유지하면서 화면을 명시적인 데이터 플로우를 갖춘 작은 서브뷰로 나누도록 요청하면 다음 변경 사항을 더 쉽게 검토할 수 있습니다.
이런 코드 정리에는 Build iOS Apps 플러그인을 사용하세요. 이 플러그인의 SwiftUI 뷰 리팩터링 스킬은 실용적이고 분명한 원칙을 제시합니다. MVVM 대신 MV를 기본으로 사용하고, 비즈니스 로직은 서비스나 모델에 두며, 로컬 뷰 상태와 환경 종속성을 먼저 활용하고, 기능에 분명히 필요한 경우에만 뷰 모델을 유지합니다.
먼저 구체적인 화면 파일 하나를 지정한 다음, 구조를 개선하되 동작은 유지하도록 Codex에 요청하세요. 다음 리팩터링 규칙은 프롬프트에 직접 넣는 것이 좋습니다:
init, body, 뷰 헬퍼, 헬퍼 메서드 순으로 배치해 위에서 아래로 쉽게 훑어볼 수 있도록 파일을 재정렬하세요.@Binding, 콜백을 받는 전용 View 타입으로 추출하세요.some View 헬퍼는 드물게 사용하고 작게 유지하세요. 하나의 거대한 화면을 private 계산형 뷰 조각을 길게 나열하는 방식으로 다시 만들지 마세요.body 밖으로 옮기고, 실제 비즈니스 로직은 서비스나 모델로 옮기세요.if/else 분기보다 섹션이나 모디파이어 내부의 국소 조건문을 우선하세요.@Observable 모델을 소유하는 뷰는 해당 모델을 @State에 저장해야 합니다. 레거시 observable 래퍼는 배포 대상 때문에 필요한 경우에만 사용하세요.동작 보존 리팩터링에는 검증 근거가 필요합니다. 의미 있는 섹션을 추출할 때마다 해당 화면을 실행해 보는 최소 범위의 빌드, 프리뷰, 테스트 또는 시뮬레이터 검사를 Codex에 요청하세요. 그런 다음 구조적으로 달라진 점과 의도적으로 그대로 둔 점을 요약하게 하세요.
화면이 너무 크다면 새 추상화 레이어를 도입하기 전에 Codex에 섹션 뷰 추출을 요청하세요. 더 짧고 명시적인 뷰 트리를 만들면 뷰 모델을 추가할 필요 자체가 사라지는 경우가 많습니다.
모든 자식 뷰에 부모 모델 전체를 넘기기보다 let 값, @Binding, 단일 목적 콜백을 사용하세요. 그러면 추출한 각 섹션을 더 쉽게 프리뷰할 수 있고, 화면 전체와 의도치 않게 다시 결합될 가능성도 줄어듭니다.
안전한 리팩터링에서는 Codex가 비즈니스 규칙, 내비게이션 동작, 영속성, 애널리틱스 의미 체계, 사용자에게 보이는 레이아웃 등 변경하지 않은 사항을 명시적으로 나열하면 도움이 됩니다. 이렇게 하면 검토가 훨씬 빨라집니다.
Need
Default options
Why it's needed
Need
UI 아키텍처
Default options
@State, @Environment, 소규모 전용 View 타입으로 역할을 나누는 MV 우선 SwiftUI 구조
Why it's needed
대형 화면은 Codex가 또 다른 뷰 모델 레이어를 도입하기 전에 뷰 트리와 상태 플로우를 단순화하면 대체로 유지 관리가 쉬워집니다.
Need
리팩터링 워크플로우
Default options
Why it's needed
플러그인의 SwiftUI 뷰 리팩터링 스킬은 동작을 보존하면서 뷰 추출, Observation, 사이드 이펙트 정리에 관한 명확한 규칙을 Codex에 제공합니다.
Need
검증
Default options
xcodebuild, 프리뷰, 범위를 좁힌 UI 검사
Why it's needed
각 항목을 추출한 뒤 소규모 빌드나 시뮬레이터 검사를 실행하면 한 번에 다시 작성하는 방식보다 동작 보존 리팩터링의 안정성을 더 쉽게 확인할 수 있습니다.
| Need | Default options | Why it's needed |
|---|---|---|
| UI 아키텍처 | @State , @Environment , 소규모 전용 View 타입으로 역할을 나누는 MV 우선 SwiftUI 구조 | 대형 화면은 Codex가 또 다른 뷰 모델 레이어를 도입하기 전에 뷰 트리와 상태 플로우를 단순화하면 대체로 유지 관리가 쉬워집니다. |
| 리팩터링 워크플로우 | Build iOS Apps 플러그인 | 플러그인의 SwiftUI 뷰 리팩터링 스킬은 동작을 보존하면서 뷰 추출, Observation, 사이드 이펙트 정리에 관한 명확한 규칙을 Codex에 제공합니다. |
| 검증 | xcodebuild , 프리뷰, 범위를 좁힌 UI 검사 | 각 항목을 추출한 뒤 소규모 빌드나 시뮬레이터 검사를 실행하면 한 번에 다시 작성하는 방식보다 동작 보존 리팩터링의 안정성을 더 쉽게 확인할 수 있습니다. |
Codex와 Build iOS Apps 플러그인을 사용해 앱이 App Intents를 통해 노출해야 할 액션과 엔티티를 파악하고, 이를 단축어와 Spotlight...
Codex와 Build iOS Apps 플러그인을 사용해 기존 iPhone 및 iPad UI를 점검하고, 커스텀 블러 또는 머티리얼 스택을 네이티브 Liquid...
Codex로 iOS SwiftUI 프로젝트를 스캐폴딩하고, `xcodebuild` 또는 Tuist를 사용해 빌드 루프를 CLI 중심으로 유지하며, 작업이 심화되면...