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