用途
Code Review 是一个自动化代码审查技能,用于在 Pull Request(PR)流程中对代码进行审查。它使用专门的审查模式,从质量、安全、性能和最佳实践等维度分析代码,帮助在代码合并前发现潜在问题。
主要能力
该技能将审查分为四个类别:
1. 安全审查
检查 SQL 注入漏洞、XSS(跨站脚本)、命令注入、不安全的反序列化、硬编码密钥/凭证、不正确的认证/授权、不安全的直接对象引用。
2. 性能审查
检查 N+1 查询、缺少数据库索引、不必要的重渲染(React)、内存泄漏、异步代码中的阻塞操作、缺少缓存机会、过大的打包体积。
3. 代码质量审查
检查代码重复(DRY 违反)、函数职责过多(SRP 违反)、深层嵌套/复杂条件、魔法数字/字符串、命名不佳、缺少错误处理、类型覆盖不完整。
4. 测试审查
检查新代码缺少测试覆盖、未测试行为的测试、不稳定的测试模式、缺少边界情况、外部依赖的模拟。
审查输出格式
输出采用结构化格式,将发现的问题按严重程度分组:
- 🔴 关键(必须修复):包含 [文件:行号]、问题描述、原因(Why)、修复建议(Fix)。
- 🟡 建议(应考虑):包含 [文件:行号]、问题描述、原因(Why)、修复建议(Fix)。
- 🟢 小问题(可选):包含 [文件:行号]、次要建议。
- ✅ 做得好的地方:对良好模式的正面反馈。
常见标记模式
技能内置了一些可参考的代码模式示例,用于对比识别问题:
安全方面,将拼接字符串的 SQL 查询(如 const query = \SELECT * FROM users WHERE id = ${userId}``)标记为 SQL 注入风险,建议改为参数化查询。
性能方面,将循环内逐条查询(N+1 查询)标记为性能问题,建议改为批量查询。
错误处理方面,将空 catch 块吞掉错误标记为问题,建议记录日志并抛出带有原因的错误。
审查清单
技能附带一份检查清单,包括:无硬编码密钥、存在输入验证、错误处理完整、已定义类型/接口、为新代码添加测试、无明显性能问题、代码可读且有文档、破坏性变更已记录。
适用场景
适用于对 Pull Request 进行自动化代码审查,覆盖安全、性能、代码质量和测试四个维度。
限制
资料中未提供该技能的具体安装命令、支持的编程语言范围、集成方式、收费信息或平台要求,这些内容暂未提供。