工程開發
swiftui-view-refactor avatar

swiftui-view-refactor

重構 SwiftUI 視圖以符合清晰架構、統一屬性順序、高效依賴注入及正確的 @Observable 狀態管理。

簡介

此技能為重構和標準化 SwiftUI 視圖文件提供系統性的方法。它專為在複雜 iOS/macOS 應用程式上工作的軟體工程師設計,旨在維護代碼品質、可讀性和架構完整性。該工具強制執行特定的設計模式,例如 Model-View (MV) 模式,提倡使用原生的 SwiftUI 數據流機制(如 @State、@Environment、@Query 和基於 Observation 的狀態管理)來取代過度使用 ViewModel。

  • 透過強制執行嚴格的屬性順序來標準化代碼佈局:Environment、私有常量、@State 屬性、計算型非視圖變量、init、body 和視圖輔助函數。

  • 促進將複雜的視圖 body 提取為更小、可重用的子視圖或計算屬性,以保持文件易於維護且組件專注。

  • 通過確保依賴項通過初始化程序傳遞並分配給非可選屬性,強制執行嚴格的依賴注入實踐。

  • 指導開發人員正確使用 @Observable,特別是確保引用類型在根視圖中正確存儲為 @State,以防止不必要的狀態失效。

  • 提供關於管理大型視圖文件的自動化指導,包括使用擴展和 MARK 註釋來改善文件導航的最佳實踐。

  • 遵循「忘記 MVVM」的哲學,確保視圖保持為狀態的輕量級聲明,同時將業務邏輯轉移到服務和領域模型中。

  • 適用於處理具有增長複雜性和 UI 債務的專業代碼庫的 SwiftUI 開發人員。

  • 輸入:需要清理、重新排序或架構遷移的 SwiftUI 視圖文件。

  • 輸出:符合既定排序規則和 Model-View 模式的重構後 Swift 源文件。

  • 約束:此技能基於 UI 特定的業務邏輯屬於領域服務的假設;除非明確要求或現有代碼結構需要,否則不會自動創建 ViewModel。當文件超過 300 行或出現「龐大視圖控制器」反模式跡象時,請使用此技能。

倉庫統計

Star 數
312
Fork 數
46
Open Issue 數
1
主要語言
Vim Script
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月29日 上午06:52
在 GitHub 查看