Code Review Checklist 是一份用于审查 iOS/Swift 代码的综合清单,旨在帮助开发者系统化地完成代码评审,确保审查覆盖架构、性能、安全与最佳实践等方面。
用途 该清单用于在代码评审过程中逐项核对,避免遗漏关键问题。它既提供快速审查项,也提供按类别展开的详细审查指南,适合作为团队代码评审的参考标准。
主要能力 清单分为快速审查与详细审查两部分。快速审查包含每次 PR 必查项(可编译、测试通过、无崩溃、内存安全、线程安全)以及应查项(架构、命名、测试、文档)。详细审查覆盖十个类别:
- 架构合规:检查是否遵循 VIP+W 模式,包括 ViewController、Interactor、Worker、Presenter、Router 的职责划分,以及协议使用与依赖注入。
- 内存管理:检查循环引用、闭包捕获、delegate 弱引用、定时器与通知观察者释放,并提供 deinit 日志检测内存泄漏的方法。
- 并发与线程安全:检查 UI 更新是否在主线程/MainActor、重活是否在后台、是否存在数据竞争,以及 actor 隔离的使用。
- 错误处理:检查是否静默失败、是否滥用 try! 或 try?、错误是否恰当传播、网络与离线状态处理,以及 Result 类型的使用。
- 可选值与安全:检查强制解包、guard 提前返回、可选链与 nil 合并,以及隐式解包可选值的避免。
- 命名规范:涵盖 Swift 命名指南与 VIP+W 各组件命名模式,包括方法、布尔值、常量、类型与协议命名。
- 性能:检查集合操作是否使用 lazy 单次遍历、first(where:) 与 contains(where:) 的替代用法,以及图片缩放、异步加载与缓存。
- 安全:检查硬编码密钥、敏感数据存储与日志、HTTPS、输入清洗,以及文件保护选项。
- 代码质量:涵盖 SOLID 原则检查、代码坏味道(方法长度、类长度、参数数量、嵌套层级、重复代码)与魔法数字的消除。
- 测试:检查测试覆盖(新公开方法、边界情况、Interactor、Presenter、Worker)与测试质量(命名清晰、单一断言)。 此外,清单还提供审查评论模板(要求修改、建议、提问、批准)和审查严重级别定义(Blocker、Warning、Info、Praise),并配有大量正确与错误代码示例。
使用方式 在每次代码评审时,先使用快速审查清单核对必查项与应查项,再根据改动涉及的领域查阅对应的详细审查类别。审查评论可套用模板,并按严重级别标注问题。
适用场景 适用于 iOS/Swift 项目的代码评审,尤其是采用 VIP+W 架构的团队。可作为个人审查参考或团队评审规范。
限制 该清单针对 iOS/Swift 与 VIP+W 架构,其他语言或架构的适用性暂未提供。清单中的具体规则(如方法不超过 30 行、类不超过 300 行)为建议性检查项,是否强制采用需团队自行决定。