代码审查技能
这个技能提供了一个结构化的方法来进行全面的代码审查,帮助发现潜在问题并提供改进建议。
何时使用此技能
当你需要:
- •审查新提交的代码变更
- •检查代码质量和最佳实践
- •发现潜在的 bug 或安全问题
- •提供代码改进建议
审查流程
第一步:理解上下文
- •了解变更目的 - 阅读相关的 PR 描述或提交信息
- •查看相关文件 - 理解代码在项目中的位置和作用
- •确定审查范围 - 明确需要审查的文件和功能
第二步:逐层审查
按以下顺序检查代码:
2.1 架构和设计
- •代码结构是否合理?
- •是否遵循现有的设计模式?
- •是否有不必要的复杂性?
2.2 功能正确性
- •代码是否实现了预期功能?
- •边界条件是否处理正确?
- •错误处理是否完善?
2.3 代码质量
- •命名是否清晰、一致?
- •是否有重复代码?
- •注释是否必要和准确?
2.4 性能考虑
- •是否有明显的性能问题?
- •数据结构选择是否合适?
- •是否有不必要的计算?
2.5 安全性
- •输入验证是否充分?
- •是否有潜在的安全漏洞?
- •敏感数据处理是否安全?
第三步:提供反馈
反馈格式:
markdown
## 代码审查报告 ### 概述 [简要总结代码变更和整体评价] ### 问题发现 #### 严重问题 🔴 - 问题描述 - 位置: `文件名:行号` - 建议: 具体的修改建议 #### 建议改进 🟡 - 问题描述 - 位置: `文件名:行号` - 建议: 具体的修改建议 #### 小建议 🟢 - 问题描述 ### 优点 ✨ [列出代码中做得好的地方] ### 总结 [是否建议合并,需要哪些修改]
检查清单
通用检查项
- • 代码是否可读且易于理解?
- • 是否遵循项目的编码规范?
- • 是否有适当的错误处理?
- • 是否有必要的测试?
- • 文档是否更新?
语言特定检查项
Python:
- • 是否使用了类型提示?
- • 是否遵循 PEP 8?
- • 导入是否有序?
JavaScript/TypeScript:
- • 是否有适当的类型定义?
- • 是否处理了异步错误?
- • 是否避免了常见陷阱?
最佳实践
- •保持客观 - 关注代码,而不是人
- •提供具体建议 - 不只指出问题,还要给出解决方案
- •区分优先级 - 明确哪些是必须修复的,哪些是建议
- •肯定优点 - 也要指出做得好的地方
- •保持简洁 - 避免过长的反馈