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