Code Review: From One Quick Look to a Dimensional Checklist

前言

PR 一打开,满屏 diff,很多人的做法是从上往下扫一遍,凭感觉留两条「看起来没问题」的评论。结果是安全漏洞漏掉、性能问题没人管,评审意见也零散,作者看完不知道优先级在哪。

下面介绍的 Code Review 是一个通用 SKILL.md 格式的代码评审 Skill,由 wpank 发布在 ClawHub 上。它不替代人做判断,而是把评审这件事拆成固定维度、固定流程和固定输出格式,让你照着清单逐项过,避免随机扫描。

这是什么

一句话定位:一套系统化的代码评审模式,覆盖安全性、性能、正确性、可维护性和测试,附带严重等级、结构化反馈指南、评审流程和需要避免的反模式。

  • 出品方:wpank,坐标 @clawhub_wpank/code-review
  • 来源:ClawHub,版本 1.0.0
  • 分类:dev-programming
  • 上游仓库:https://clawhub.ai/wpank/code-review
  • SkillHub 页面:https://www.skillhub.cn/skills/clawhub_wpank/code-review
  • 标签:requires_api_key=false,即使用前不需要配置 API Key

它解决三类问题:评审标准不统一(每个人关注点不一样)、评审顺序随意(容易漏边界条件)、反馈不可执行(只说「这里不对」,不说怎么改、多严重)。

核心功能

评审维度

Skill 把变更拆成七个维度,每个维度标了优先级。优先级是固定的,不是按文件大小平均分配精力。

维度 关注点 优先级
安全性 漏洞、鉴权、数据暴露 Critical
性能 速度、内存、扩展性瓶颈 High
正确性 逻辑错误、边界情况、数据完整性 High
可维护性 可读性、结构、后续改造空间 Medium
测试 覆盖率、测试质量、可靠性 Medium
可访问性 WCAG 合规、键盘导航、屏幕阅读器 Medium
文档 注释、API 文档、变更记录 Low

分维度清单

每个维度都有一份可逐条打勾的清单。安全清单 13 条,覆盖 SQL 注入、XSS、CSRF、认证与授权(含 IDOR)、服务端输入校验、密钥管理、依赖安全、敏感数据不入日志、限流、文件上传、HTTP 安全头。性能清单 10 条,覆盖 N+1 查询、无谓重渲染、内存泄漏(监听器与定时器需在卸载时清理)、包体积与 tree-shaking、懒加载、缓存策略、数据库索引与 EXPLAIN、分页、异步任务外移、图片资源优化。

正确性清单 10 条,覆盖边界值、null/undefined 检查、off-by-one、竞态条件、时区(UTC 存储、展示层转换)、Unicode 与编码、整数溢出与金额精度(BigInt / Decimal)、错误传播(Promise 不被静默吞掉)、多步操作的事务一致性、边界值测试。

可维护性清单 10 条,覆盖命名表意、单一职责、DRY、圈复杂度、错误处理边界、死代码清理、魔法数字提取、沿用仓库既有约定、函数长度、依赖方向(依赖指向内层,核心逻辑不反向依赖 UI 或框架层)。

测试清单 8 条,覆盖新逻辑路径的测试、边界与失败用例、测试确定性(不依赖时序和外部服务)、测试独立性、断言应针对行为而非实现细节、Arrange-Act-Assert 结构、只对外部边界做 mock、修复 bug 时补回归测试。

三遍评审流程

Skill 明确要求分三遍过,不要试图在一次阅读里抓完所有问题。

  1. 第一遍,2-5 分钟看高层结构:读 PR 描述和关联 issue,扫文件列表判断改动范围是否合理,确认整体方案是否是该问题的合适解法,检查是否引入架构漂移。
  2. 第二遍,逐行细看,占用主要评审时间:逐个文件 diff 从上到下读,对照上面各维度清单检查每个函数改动,验证每个 I/O 边界的错误处理,标记任何让人需要停下来想一下的地方。
  3. 第三遍,5 分钟做边界与加固:检查失败模式、并发情况、边界值、缺失的测试。

严重等级与反模式

清单用严重等级给意见分级,并给出结构化反馈指南,即每条意见需要说清问题、位置、影响和建议改法。同时列出评审中要避免的反模式,例如把风格偏好当成缺陷、只提问题不给方案、把个人偏好的实现方式当成唯一正确解。

安装与启用

这是通用 SKILL.md 格式的 Skill,通过命令行安装后由支持该格式的编码工具加载。ClawHub 页面给出两种命令。

在 OpenClaw / Moltbot / Clawbot 环境安装:

npx clawhub@latest install code-review

通用安装命令:

$ openclaw skills install @wpank/code-review

安装完成后,把 Skill 作为评审环节的一部分触发,例如在 PR 评审时明确要求按安全、性能、正确性、可维护性、测试五个维度逐项过,并输出分级意见。Skill 本身不含可执行程序,它是评审模式与清单,实际判断仍由模型结合你的代码上下文完成,所以触发时最好把 PR 描述、涉及文件列表和关键 diff 一起提供。

至于 Cursor、Codex CLI、Claude Code 的具体加载方式,官方资料没有分别说明,这里不猜测,按各自工具对 SKILL.md 的通用支持方式操作即可。

典型用法

下面是可复现的用法,直接照做即可。

  1. 安装后,把 Skill 接入 PR 评审流程:
npx clawhub@latest install code-review
  1. 评审时按三遍流程要求模型执行:
按 Code Review Skill 评审当前 PR 的 diff。
第一遍看整体方案和改动范围,第二遍逐行对照安全、性能、正确性、
可维护性、测试清单检查,第三遍看边界情况和缺失的测试。
输出按严重等级分级,每条给出位置、问题、影响和修改建议。
  1. 如果是建立团队审查标准,可以把安全清单和测试清单单独抽出来作为 PR 模板里的 checklist,让提交者先自查一遍,评审时再按同样维度复核。

适用场景与注意

适合这些人:想在团队里统一评审标准的负责人、PR 评审质量不稳定的开发者、想把安全与性能检查常态化但又不想引入重型静态扫描工具的项目。

使用上的限制:

  • 它是评审模式,不是自动扫描器,不会跑测试也不会跑静态分析,结论质量取决于喂给它的上下文是否完整。
  • 清单是通用维度,需要结合具体技术栈调整。比如后端项目重点看安全和正确性,前端项目重点看可访问性和重渲染,纯脚本项目可访问性基本用不上。
  • 严重等级是相对优先级,不等于漏洞确认。看到 Critical 只是说这个维度必须处理,不等于该行代码有确定漏洞。
  • 依赖安全这一条要求「新依赖来自可信来源、有维护、无已知 CVE」,实际核对仍需外部漏洞库支持。
  • 版本 1.0.0,清单内容后续可能变化,以 ClawHub 页面当前内容为准。

结尾

Code Review 的价值不在于给出一份完美清单,而在于把评审顺序和维度固定下来,减少随机扫描带来的漏项,并让反馈带上严重等级和修改建议。如果你现在的评审流程还靠经验和感觉,可以从安全清单和三遍流程开始用,成本最低。

官方地址:https://clawhub.ai/wpank/code-review
SkillHub 页面:https://www.skillhub.cn/skills/clawhub_wpank/code-review

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye