SuperAPI AI 工具集

combine-code-review

测试与质量

查看项目

更新于 10-15 21:39

技能介绍

用途:该技能面向 Swift Combine 框架代码的审查,关注内存泄漏、操作符误用和错误处理三类问题。

主要能力:提供快速参考与审查清单。参考文档按主题划分:publishers.md(Publishers、Subjects、AnyPublisher)、operators.md(map、flatMap、combineLatest、switchToLatest)、memory.md(AnyCancellable、循环引用、[weak self])、error-handling.md(tryMap、catch、replaceError、Never)。

审查清单要点:sink 闭包在 self 持有 cancellable 时使用 [weak self];不使用 assign(to:on:self)(改用 assign(to: &$property) 或 sink);所有 AnyCancellable 存入 Set 或属性而非丢弃;Subjects 通过 eraseToAnyPublisher() 暴露为 AnyPublisher;正确使用 flatMap(需要 map + switchToLatest 时不要用 flatMap);在 flatMap 内部处理错误以保持主链存活;tryMap 后接 mapError 恢复错误类型;UI 更新前 receive(on: DispatchQueue.main);事件用 PassthroughSubject、状态用 CurrentValueSubject;Future 与 retry 搭配时包裹 Deferred。

硬性门槛:先确定审查范围(至少一个导入 Combine 或使用相关 API 的文件/类型,否则判定为 out of scope);说明每个 sink、assign、store(in:) 的 AnyCancellable 保留位置或标注临时性及原因;确认泄漏需给出捕获链,疑似问题标注 risk/verify;UI 更新需指出 receive(on: DispatchQueue.main)、@MainActor 或等效调度;高/严重问题须带 file:line 并指明违反的清单项。

适用场景:审查含 Combine 的 Swift 项目代码。限制:资料未提供安装方式、价格或平台信息;仅依据公开描述整理,未提供的细节暂缺。