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 ビューリファクタリングスキルを使用すると、Codex で大規模な SwiftUI 画面を編集しながら、専用のサブビューを抽出し、安定したデータフローを維持し、Observation の使い方を簡素化して、動作をそのまま保てます。 |
SwiftUI ファイルが 1 つの巨大な画面へと肥大化し、どんな小さな編集にもリスクを感じるようになったときに役立つユースケースです。目的は、機能を再設計したり、新しいアーキテクチャを考案したりすることではありません。動作とレイアウトを維持したまま、明示的なデータフローを持つ小さなサブビューへ画面を分割するよう Codex に依頼すれば、その後の変更をレビューしやすくなります。
この種の整理には、Build iOS Apps プラグイン を使用してください。このプラグインの SwiftUI ビューリファクタリングスキルには、MVVM より MV を優先し、ビジネスロジックはサービスまたはモデルに置き、まずビューのローカル状態と環境依存関係を使用し、機能に明らかに必要な場合に限ってビューモデルを残すという実用的で明確な方針があります。
まず、対象となる具体的な画面ファイルを 1 つ指定し、動作を維持しながら構造を改善するよう Codex に依頼します。プロンプトに直接含めると効果的なリファクタリングルールは次のとおりです:
init、body、ビューヘルパー、ヘルパーメソッドの順に並べ替え、上から下へ追いやすくしてください。View 型として抽出し、必要最小限の明示的な入力、@Binding、コールバックを持たせてください。some View ヘルパーは、必要最小限の小さなものにしてください。1 つの巨大な画面を、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 ビューリファクタリングスキルにより、Codex は動作を維持しながら、ビューの抽出、Observation の扱い、副作用の整理に関する明確なルールに従えます。
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 ビューリファクタリングスキルにより、Codex は動作を維持しながら、ビューの抽出、Observation の扱い、副作用の整理に関する明確なルールに従えます。 |
| 検証 | xcodebuild 、プレビュー、対象を絞った UI チェック | 各抽出の後に小規模なビルドまたはシミュレーターによるチェックを行うと、一度に全面的に書き換える場合より、動作を維持できていると確信しやすくなります。 |
Codex と Build iOS Apps プラグインを使って、App Intents を通じてアプリが公開すべきアクションとエンティティを特定し、Shortcuts や...
Codex と Build iOS Apps プラグインを使用して、iPhone と iPad の既存 UI を監査し、カスタムのぼかしやマテリアルのスタックをネイティブの...
Codex で iOS SwiftUI プロジェクトのひな形を作成し、`xcodebuild` または Tuist を使ったビルドループを CLI...