用途
Code Review Excellence 是一个代码审查技能,用于在用户要求审查 diff 或 pull request、撰写审查评论、审计代码质量、建立审查标准等场景。其目标是将代码审查从把关转变为知识共享,通过建设性反馈、系统化分析和协作改进来实现。
主要能力
该技能涵盖以下核心内容:
- 审查心态:明确代码审查的目标(捕获 bug 和边缘情况、确保可维护性、跨团队分享知识、执行编码标准、改进设计和架构、构建团队文化)与非目标(炫耀知识、挑剔格式、不必要地阻塞进度、按个人偏好重写)。
- 有效反馈:提供具体可操作、教育性而非评判性、针对代码而非个人、平衡(也表扬好的工作)、分优先级的反馈。包含好与坏反馈的对比示例。
- 审查范围:明确应审查的内容(逻辑正确性和边缘情况、安全漏洞、性能影响、测试覆盖和质量、错误处理、文档和注释、API 设计和命名、架构契合度)与不应手动审查的内容(代码格式、导入组织、lint 违规、简单拼写错误)。
- 审查流程:分为四个阶段——上下文收集(2-3 分钟)、高层审查(5-10 分钟)、逐行审查(10-20 分钟)、总结与决策(2-3 分钟)。每个阶段有具体步骤。
- 审查技术:包括检查清单法(安全、性能、测试清单)、提问法(用问题代替陈述)、建议而非命令(使用协作语言)、区分严重程度(使用标签如 blocking、important、nit、suggestion、learning、praise)。
- 语言特定模式:提供 Python 和 TypeScript/JavaScript 的常见问题示例和正确做法。
- 高级审查模式:包括架构审查(设计文档优先、分阶段审查、考虑替代方案)、测试质量审查(行为测试而非实现细节测试)、安全审查(认证授权、输入验证、数据保护、常见漏洞清单)。
- 困难反馈处理:提供改进的三明治方法(上下文 + 具体问题 + 有帮助的解决方案)和处理分歧的策略。
- 最佳实践:及时审查、限制 PR 大小、分时间段审查、使用审查工具、自动化能自动化的、建立融洽关系、保持可用、向他人学习。
- 常见陷阱:完美主义、范围蔓延、不一致、延迟审查、消失、橡皮图章、自行车棚效应。
- 模板:提供 PR 审查评论模板。
- 资源:包括参考文档(代码审查最佳实践、常见 bug 清单、安全审查指南)、资产(PR 审查模板、审查清单)和脚本(PR 分析器)。
使用方式
该技能在用户要求审查代码或建立审查标准时使用。它提供了系统化的流程和模板,用户可按照阶段进行审查,使用检查清单和提问技术,并参考语言特定模式和高级模式。技能还包含可复用的模板和资源文件。
适用场景
- 审查 pull request 和代码变更
- 为团队建立代码审查标准
- 通过审查指导初级开发者
- 进行架构审查
- 创建审查清单和指南
- 改进团队协作
- 减少代码审查周期时间
- 维护代码质量标准
限制
该技能主要提供指导原则、流程和示例,不包含自动化审查工具。具体实施需结合团队实际情况和使用的审查平台。技能中提到的资源文件(如 references/、assets/、scripts/)的具体内容未在提供资料中详细说明。