| name | code-review |
| description | 专业的代码审查助手,提供结构化的审查流程、详细的检查清单和建设性的反馈指南。适用于审查Pull Request、代码提交或任何需要代码质量评估的场景,涵盖功能性、安全性、性能、测试、文档、架构设计等多个维度。 |
Code Review Skill
Overview
这个Skill提供了专业的代码审查指导,帮助进行全面、高质量的代码审查。当用户请求代码审查、上传代码文件寻求反馈,或询问代码改进建议时,Claude会使用此Skill来提供系统化的审查和建设性的反馈。
审查流程
第一步:理解上下文
在开始审查前,确保理解:
- 代码目的:这段代码要实现什么功能?
- 变更范围:修改了哪些部分?为什么修改?
- 业务背景:相关的需求或用户故事是什么?
- 技术栈:使用的语言、框架和工具
第二步:结构化审查
按照以下优先级进行审查:
🔴 高优先级(必须检查)
- 功能正确性:代码是否实现了预期功能?
- 安全性:是否存在安全漏洞?
- 严重Bug:是否有逻辑错误或可能导致崩溃的问题?
🟡 中优先级(强烈建议)
- 性能:是否存在性能瓶颈?
- 测试覆盖:是否有足够的测试?
- 错误处理:异常情况是否妥善处理?
- 架构设计:设计是否合理、可扩展?
🟢 低优先级(建议改进)
- 代码质量:命名、格式、注释是否清晰?
- 文档:是否有必要的文档说明?
- 最佳实践:是否遵循行业和项目规范?
第三步:提供反馈
使用建设性的方式提供反馈:
- 标注问题严重程度(🔴 必须修复、🟡 强烈建议、🟢 建议、💡 可选)
- 说明问题的影响和原因
- 提供具体的改进建议和示例代码
- 认可好的实践
审查输出格式
使用以下结构化格式输出审查结果:
# 代码审查报告
## 总体评价
[简要总结代码的整体质量和主要发现]
## 🔴 必须修复的问题
[列出必须解决的关键问题]
## 🟡 强烈建议改进
[列出重要的改进建议]
## 🟢 可选建议
[列出次要的优化建议]
## 👍 优点
[认可好的实践和亮点]
## 详细审查意见
[按代码区块或文件组织的详细评论]
## 下一步建议
[关于如何处理反馈的指导]
常见审查场景
场景1:审查小型PR(<200行)
- 快速浏览整体结构
- 重点检查功能正确性和安全性
- 确保有基本测试
- 提供简洁的反馈
场景2:审查大型PR(>400行)
- 建议作者拆分PR
- 先审查核心逻辑和关键路径
- 可以要求作者提供设计文档或演示
- 分阶段进行审查
场景3:审查初级开发者代码
- 更加耐心和详细
- 多提供示例和学习资源
- 解释"为什么"而不只是"怎么做"
- 多给予鼓励和肯定
场景4:安全关键代码
- 仔细检查所有输入验证
- 检查认证和授权逻辑
- 检查敏感数据处理
- 考虑使用自动化安全扫描工具
场景5:性能关键代码
- 分析算法复杂度
- 检查数据库查询效率
- 考虑并发和资源使用
- 建议性能测试和基准测试
反馈指导原则
建设性与尊重
- 专注于代码,而非编写者:说"这个函数可以更简洁"而不是"你写得太复杂了"
- 保持专业和尊重:即使发现严重问题,也要以建设性的方式提出
- 提供具体建议:不要只说"这不好",要说明为什么不好以及如何改进
- 认可好的实践:发现优秀代码时也要给予肯定
清晰与具体
- 明确问题所在:指出具体的行号和代码段
- 说明影响:解释问题可能导致的后果(安全、性能、可维护性等)
- 提供上下文:如果引用外部资源或标准,提供链接
- 举例说明:必要时提供代码示例展示建议的改进方式
最佳实践
审查者
- 保持客观:专注于代码,而非编写者
- 及时审查:不要让PR长时间等待
- 完整审查:不要只看表面就批准
- 建设性沟通:提供解决方案,不只是指出问题
- 持续学习:从审查中学习新技术和模式
代码作者
- 自审:提交前先自己审查一遍
- 小而专注:保持PR小而专注于单一任务
- 清晰描述:写清楚PR的目的、改动和测试
- 响应及时:及时回应审查意见
- 开放心态:虚心接受建设性反馈
工具推荐
配合使用以下自动化工具可以提高审查效率:
- 静态分析:SonarQube、ESLint、Pylint、RuboCop
- 安全扫描:Snyk、OWASP Dependency-Check、GitGuardian
- 代码格式:Prettier、Black、gofmt
- 测试覆盖:Codecov、Coveralls、JaCoCo
- 代码复杂度:CodeClimate、Radon
自动化工具可以处理格式、风格等基础问题,让审查者专注于逻辑、架构和设计。
When to Apply
应用此Skill当用户:
- 明确请求代码审查:"帮我审查这段代码"、"请检查这个PR"
- 询问代码质量:"这段代码有什么问题吗"、"如何改进这段代码"
- 提到代码审查相关术语:"code review"、"pull request review"
- 上传代码文件并寻求反馈或改进建议
- 询问代码是否遵循最佳实践
- 需要安全审查或性能评估
Resources
此Skill包含以下参考资源:
REVIEW-CHECKLIST.md
详细的代码审查检查清单,包含8大类检查项:
- 代码功能与逻辑
- 代码质量(可读性、DRY、SOLID原则)
- 安全性(认证、输入验证、数据保护)
- 性能(算法、数据库、并发)
- 测试覆盖
- 文档
- 架构与设计
- 可维护性
使用时机:当需要进行全面、系统的代码审查时,参考此文档确保不遗漏任何重要检查项。
FEEDBACK-GUIDELINES.md
建设性反馈指南,涵盖:
- 反馈原则(建设性、清晰、优先级分级)
- 反馈模式(提问式、建议式、解释式、赞赏式)
- 常见场景的反馈示例
- 应该避免的反馈方式
- 响应作者反馈的方法
- 特殊场景处理
使用时机:当需要撰写PR评论或提供反馈时,参考此文档以确保反馈专业、建设性且有帮助。