SuperAPI AI 工具集

ios-swift-api-design-reviewer

编程与开发

查看项目

更新于 10-15 21:08

技能介绍

用途:审查 Swift 函数、类型和协议接口是否符合 Swift API Design Guidelines,核心目标是提升调用点清晰度,即使声明略微变长。\n\n主要能力与规则:\n命名——函数、方法、属性、枚举 case 用 lowerCamelCase,类型与协议用 UpperCamelCase;省略无意义词但保留有含义的词;避免盲目加 String、Array、Data 等噪音后缀;布尔值用 is、has、can、should、did 等谓词式命名;可变方法用动词(sort、append、removeAll),不可变版本用 -ed 形式(sorted、appending、removingAll)。\n参数与标签——第一个参数标签在能构成自然短语时省略,如 add(_ item:to:)、contains(:);用标签说明角色、单位与语义,如 move(from:to:)、resize(to:)/resize(by:)、setDeadline(:for:);默认参数和闭包参数一般放最后,多个闭包需清晰标注,配置型闭包可提前。常用标签词包括 in、from、to、at、with、using、for、by。\n返回与错误——仅当 nil 有明确“无值”含义时用 Optional;可经 do/catch 处理的失败用 throws;需要存储、传递或桥接回调结果时用 Result;字段超过两三个、字段名重要或值需广泛传递时优先 struct 而非 tuple。\n并发——新 API 优先 async/await 而非 completion handler;除消歧需要外避免 Async 后缀;倾向与取消机制协作而非自定义取消 API,并考虑任务取消时的行为;纯数据模型不要标 @MainActor,只有真正面向视图的 UI 类型保留 @MainActor。\n类型与协议——协议命名能力,如 Cache、ImageLoading、Persisting;类型命名自身,如 ImageCache、URLSessionImageLoader、KeychainStore;避免 Manager、Helper、Util、Common、Base 等模糊名。\n严重度与输出——🔴 Critical(违反指南或易误用)、🟡 Improvement(可用但可更清晰)、🟢 Enhancement(润色)。推荐输出 Summary 与按 Naming、Parameters、Return Types、Concurrency 分组的 Findings,每条附 before → after。\n限制:资料未提供安装命令、平台支持、收费方式与具体使用步骤。