Code Review Skill
Overview
这个Skill提供了专业的代码审查指导,帮助进行全面、高质量的代码审查。当用户请求代码审查、上传代码文件寻求反馈,或询问代码改进建议时,Claude会使用此Skill来提供系统化的审查和建设性的反馈。
审查流程
第一步:理解上下文
在开始审查前,确保理解:
- •代码目的:这段代码要实现什么功能?
- •变更范围:修改了哪些部分?为什么修改?
- •业务背景:相关的需求或用户故事是什么?
- •技术栈:使用的语言、框架和工具
第二步:结构化审查
按照以下优先级进行审查:
🔴 高优先级(必须检查)
- •功能正确性:代码是否实现了预期功能?
- •安全性:是否存在安全漏洞?
- •严重Bug:是否有逻辑错误或可能导致崩溃的问题?
🟡 中优先级(强烈建议)
- •性能:是否存在性能瓶颈?
- •测试覆盖:是否有足够的测试?
- •错误处理:异常情况是否妥善处理?
- •架构设计:设计是否合理、可扩展?
🟢 低优先级(建议改进)
- •代码质量:命名、格式、注释是否清晰?
- •文档:是否有必要的文档说明?
- •最佳实践:是否遵循行业和项目规范?
第三步:提供反馈
使用建设性的方式提供反馈:
- •标注问题严重程度(🔴 必须修复、🟡 强烈建议、🟢 建议、💡 可选)
- •说明问题的影响和原因
- •提供具体的改进建议和示例代码
- •认可好的实践
审查输出格式
使用以下结构化格式输出审查结果:
markdown
# 代码审查报告 ## 总体评价 [简要总结代码的整体质量和主要发现] ## 🔴 必须修复的问题 [列出必须解决的关键问题] ## 🟡 强烈建议改进 [列出重要的改进建议] ## 🟢 可选建议 [列出次要的优化建议] ## 👍 优点 [认可好的实践和亮点] ## 详细审查意见 [按代码区块或文件组织的详细评论] ## 下一步建议 [关于如何处理反馈的指导]
常见审查场景
场景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评论或提供反馈时,参考此文档以确保反馈专业、建设性且有帮助。