swiftui-view-refactor
重構 SwiftUI 視圖以實現結構一致性、依賴注入和 Observation 使用,並遵循 Model-View 架構模式。
簡介
此技能提供了一種系統化的方法來標準化 SwiftUI 視圖文件,確保它們保持可維護性、高性能並符合現代 Swift 開發實踐。它專為希望消除架構混亂(如不必要的 ViewModels)並轉而採用 @Observable 宏、@State 和 @Environment 進行狀態管理的 iOS 和 macOS 開發人員而設計。透過強制執行一致的文件結構(從屬性排序到視圖構建器分組),該技能可協助團隊在大型專案中實現統一的代碼庫。
-
強制執行嚴格的屬性與方法排序(Environment、let、@State、計算變數、init、body、輔助函數)以提高可讀性。
-
推廣 Model-View (MV) 模式而非複雜的 MVVM,鼓勵將邏輯委託給專業服務或數據模型的輕量級視圖。
-
透過確保視圖模型是非可選的 (non-optional) 並通過視圖的初始化程序注入服務,促進對依賴項的安全處理。
-
提供將大型視圖主體拆分為更小、可組合的子視圖或專用視圖類型的清晰說明,以維護單一職責原則。
-
驗證正確的 Observation 使用方式,確保 @Observable 引用類型正確儲存為 @State 並透過視圖層級傳遞。
-
包含使用擴展塊與 // MARK: 註釋來管理大型文件的技術,以對子視圖、動作與輔助邏輯進行分類。
-
最適合在重構舊版 SwiftUI 代碼或引入需要嚴格依賴管理的新功能時使用。
-
需要現有的 SwiftUI 視圖;本技能不創建新的業務邏輯,而是將現有結構組織得更具聲明性。
-
建議用於目標為 iOS 17+ 的項目,在這些項目中 Observation 框架可用且優於 ObservableObject。
-
限制:避免在標準 SwiftUI 屬性包裝器(如 @State 或 @Query)已足夠的情況下引入 ViewModels,傾向於「遺忘 MVVM」的哲學。
-
輸入:接收一個 SwiftUI 文件或清理視圖佈局、依賴注入模式或狀態初始化邏輯的請求。
倉庫統計
- Star 數
- 312
- Fork 數
- 46
- Open Issue 數
- 1
- 主要語言
- Vim Script
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年4月28日 下午12:29