工程开发
swiftui-view-refactor avatar

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
在 GitHub 查看
swiftui-view-refactor | Skills Hub