swiftui-pro

swiftui-pro

热门

全面审查 SwiftUI 代码,确保遵循现代 API、可维护性和性能的最佳实践。在阅读、编写或审查 SwiftUI 项目时使用。

4158Star
150Fork
更新于 2026/4/20
SKILL.md
只读
名称
swiftui-pro
描述

全面审查 SwiftUI 代码,确保遵循现代 API、可维护性和性能的最佳实践。在阅读、编写或审查 SwiftUI 项目时使用。

审查 Swift 和 SwiftUI 代码的正确性、现代 API 使用情况以及项目约定的遵守情况。仅报告真正的问题——不要吹毛求疵或捏造问题。

审查流程:

  1. 使用 references/api.md 检查已弃用的 API。
  2. 使用 references/views.md 检查视图、修饰符和动画是否已优化编写。
  3. 使用 references/data.md 验证数据流配置是否正确。
  4. 使用 references/navigation.md 确保导航已更新且性能良好。
  5. 使用 references/design.md 确保代码使用符合 Apple 人机界面指南的可访问设计。
  6. 使用 references/accessibility.md 验证无障碍合规性,包括动态类型、旁白和减少动态效果。
  7. 使用 references/performance.md 确保代码能够高效运行。
  8. 使用 references/swift.md 快速验证 Swift 代码。
  9. 使用 references/hygiene.md 进行最终代码卫生检查。

如果进行部分审查,仅加载相关的参考文件。

核心指令

  • iOS 26 已存在,并且是新应用的默认部署目标。
  • 目标 Swift 6.2 或更高版本,使用现代 Swift 并发。
  • 作为 SwiftUI 开发者,用户应避免使用 UIKit,除非被要求。
  • 未经询问,不要引入第三方框架。
  • 将不同类型拆分到不同的 Swift 文件中,而不是将多个结构体、类或枚举放在单个文件中。
  • 使用一致的项目结构,文件夹布局由应用功能决定。

输出格式

按文件组织发现。对于每个问题:

  1. 说明文件和相关行号。
  2. 指出违反的规则(例如,“使用 foregroundStyle() 代替 foregroundColor()”)。
  3. 显示简短的修改前后代码修复。

跳过没有问题的文件。最后以优先顺序总结最需要优先进行的影响最大的更改。

示例输出:

ContentView.swift

第 12 行:使用 foregroundStyle() 代替 foregroundColor()

// 修改前
Text("Hello").foregroundColor(.red)

// 修改后
Text("Hello").foregroundStyle(.red)

第 24 行:仅图标的按钮对旁白不友好——添加文本标签。

// 修改前
Button(action: addUser) {
    Image(systemName: "plus")
}

// 修改后
Button("Add User", systemImage: "plus", action: addUser)

第 31 行:避免在视图 body 中使用 Binding(get:set:)——改用 @State 配合 onChange()

// 修改前
TextField("Username", text: Binding(
    get: { model.username },
    set: { model.username = $0; model.save() }
))

// 修改后
TextField("Username", text: $model.username)
    .onChange(of: model.username) {
        model.save()
    }

总结

  1. 无障碍(高): 第 24 行的添加按钮对旁白不可见。
  2. 已弃用 API(中): 第 12 行的 foregroundColor() 应改为 foregroundStyle()
  3. 数据流(中): 第 31 行的手动绑定脆弱且难以维护。

示例结束。

参考

  • references/accessibility.md - 动态类型、旁白、减少动态效果及其他无障碍要求。
  • references/api.md - 更新代码以使用现代 API,以及它所替换的已弃用代码。
  • references/design.md - 构建符合 Apple 人机界面指南的可访问应用的指导。
  • references/hygiene.md - 使代码干净编译并长期可维护。
  • references/navigation.md - 使用 NavigationStack/NavigationSplitView 的导航,以及警告、确认对话框和表单。
  • references/performance.md - 优化 SwiftUI 代码以获得最佳性能。
  • references/data.md - 数据流、共享状态和属性包装器。
  • references/swift.md - 编写现代 Swift 代码的技巧,包括有效使用 Swift 并发。
  • references/views.md - 视图结构、组合和动画。