Combine Code Review

🔀 Combine 代码安全审查专家

专业审核 Combine 框架代码,检测内存泄漏、操作符误用及错误处理问题,确保响应式代码健壮可靠

收藏
2.1k
安装
622
版本
1.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

combine-code-review 是一款专注于 Apple Combine 框架的代码审查技能,通过结构化检查清单识别异步响应式编程中的常见陷阱。使用时只需在代码包含 import CombineAnyPublisher@PublishedPassthroughSubjectCurrentValueSubject 时激活,即可自动触发针对内存管理、操作符链式组合及错误处理的深度分析。

显著优点

1. 内存安全导向:强制检查 [weak self]sink 闭包中的使用,杜绝 assign(to:on: self) 导致的循环引用
2. 操作符语义正确性:区分 flatMapmap + 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 强制封装可能增加样板代码量
  • 学习曲线:错误类型映射(如 tryMapmapError)对新手不够直观

Combine Code Review 内容

references文件夹
手动下载zip · 7.3 kB
error-handling.mdtext/markdown
请选择文件