用途
Code Reviewer 提供全面的代码审查能力,重点关注正确性、安全性、性能与可维护性。它在识别 Bug、安全漏洞和代码质量问题的同时,给出改进建议。
何时使用
- 审查 Pull Request 或代码变更
- 对代码执行安全审计
- 在合并前识别潜在 Bug
- 确保代码遵循最佳实践
- 检查性能问题
- 验证错误处理
- 评审代码中的架构决策
何时不应使用
- 调试运行时问题(应使用 debugger)
- 重构代码结构(应使用 refactoring-specialist)
- 编写新代码(应使用语言相关技能)
- 评审系统架构(应使用 architect-reviewer)
决策框架
审查优先级如下:
- 安全问题 → 阻止合并,立即修复
- 正确性 Bug → 阻止合并,要求修复
- 性能问题 → 讨论,可能阻止合并
- 代码风格问题 → 建议,非阻塞
- 文档缺失 → 建议,非阻塞
- 重构机会 → 记录待后续处理
核心工作流
1. Pull Request 审查
- 从 PR 描述理解意图
- 审查正确性与逻辑错误
- 检查安全漏洞
- 评估性能影响
- 验证错误处理完整性
- 检查测试覆盖率
- 提供可操作的反馈
2. 安全导向审查
- 检查输入验证与净化
- 审查认证与授权
- 查找注入漏洞
- 验证敏感数据处理
- 检查硬编码密钥
- 审查依赖安全性
- 评估密码学使用
3. 性能审查
- 识别 N+1 查询模式
- 检查不必要的内存分配
- 审查算法复杂度
- 评估缓存机会
- 检查阻塞操作
- 审查数据库查询效率
最佳实践
- 审查代码,而非作者
- 具体指出问题与修复方式
- 解释建议背后的“为什么”
- 按严重程度排列评论优先级
- 也肯定良好的模式
- 优先使用自动化工具(linters、SAST)
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 纠结风格 | 浪费时间,令作者沮丧 | 使用自动格式化工具 |
| 缺乏上下文 | 审查者不理解变更 | 阅读 PR 描述与关联 issue |
| 因主观意见阻止合并 | 不必要地延迟交付 | 区分必须修复与锦上添花 |
| 顺路审查 | 评论无后续解决 | 跟进讨论直至解决 |
| 没有正面反馈 | 打击作者积极性 | 突出良好模式 |
适用场景与限制
该技能适用于代码变更审查、安全审计、合并前 Bug 识别、最佳实践检查、性能问题检查与错误处理验证等场景。它不适用于运行时调试、代码重构、编写新代码或系统架构评审。关于具体支持的编程语言、平台、收费方式或价格信息,资料中暂未提供。