SuperAPI AI 工具集

swift

编程与开发

查看项目

更新于 10-15 20:31

技能介绍

用途:在 Swift 6+ 项目中创建或审查代码,强调值类型建模、并发隔离与错误处理,并保持仓库既有的工具链与模块结构。

主要能力:用 struct/enum 表达值语义,class/actor 用于有身份或隔离需求的场景;用带关联值的 enum 表示封闭状态并做穷尽 switch;默认 let,显式标注 mutating/var。并发上以 async/await 贯穿到边界,用 Task 配合 Task.isCancelled 或 withTaskCancellationHandler 处理取消,用 actor 保护共享可变状态,视图模型 API 标注 MainActor 隔离;跨隔离数据需 Sendable,避免无不变量的 @unchecked Sendable。错误处理用 throws/Result 在边界,UI 用 LocalizedError,库中用 typed enum 错误,禁止对输入或 I/O 使用 try!,fatalError 仅用于编程不变量。

使用方式:保留仓库原有的 SwiftPM 或 Xcode 工程结构,按边界划分模块(如 MyAppCore 与 MyAppUI),默认 internal,仅稳定 API 用 public/package;若已有 swift-format 或 SwiftLint 则沿用。示例目录为 Sources/MyAppCore/ 下的 Models、Services 与 Tests/MyAppCoreTests/。

适用场景:Swift 6 并发检查下的新代码、领域建模、并发与错误处理审查。

限制:本技能不涉及 SwiftUI、SwiftData、测试、Vapor 等,分别由 swiftui-development、swiftdata、swift-testing、vapor-swift 等技能处理;避免在新代码中使用 AnyObject+KVO、可变共享单例、对 JSON/网络强制解包、用 Task.detached 绕过编译器,以及宽泛的 @preconcurrency 压制数据竞争警告。完成标准包括类型 Sendable 与状态清晰、边界 async 支持取消、I/O 无 try!/强制解包、隔离诚实、核心改动有测试。