核心用法
combine-code-review 是一款专注于 Apple Combine 框架的代码审查技能,通过结构化检查清单识别异步响应式编程中的常见陷阱。使用时只需在代码包含 import Combine、AnyPublisher、@Published、PassthroughSubject 或 CurrentValueSubject 时激活,即可自动触发针对内存管理、操作符链式组合及错误处理的深度分析。
显著优点
1. 内存安全导向:强制检查 [weak self] 在 sink 闭包中的使用,杜绝 assign(to:on: self) 导致的循环引用
2. 操作符语义正确性:区分 flatMap 与 map + switchToLatest 的适用场景,避免搜索/自动补全等场景下的订阅堆积
3. 错误处理完整性:确保 tryMap 后接 mapError 恢复类型,防止错误传播中断主链
4. 线程安全:验证 receive(on: DispatchQueue.main) 在 UI 更新前的必要性
5. Subject 封装规范:强制对外暴露 AnyPublisher 而非裸 Subject,维护封装边界
潜在局限
- 依赖静态代码分析模式,无法运行时验证实际内存行为
- 对复杂嵌套
flatMap或自定义 Publisher 的推理能力有限 - 需配合外部引用文档(publishers.md、operators.md 等)才能输出完整建议
- 未涵盖 Combine 与 SwiftUI
@StateObject等新型集成模式的特殊考量
适合人群
iOS/macOS 开发团队、采用 MVVM 或 Clean Architecture 的项目、从 RxSwift 迁移至 Combine 的开发者、以及需要维护大型响应式代码库的技术负责人。
常规风险
- 误报风险:过度激进的
[weak self]可能导致必要强引用缺失 - 架构耦合:若团队未统一 Combine 使用规范,审查建议可能与现有模式冲突
- 维护负担:Subject 强制封装可能增加样板代码量
- 学习曲线:错误类型映射(如
tryMap→mapError)对新手不够直观