关于 code-review-checklist
code-review-checklist 是按优先级组织人工审查步骤的技能,涵盖安全、正确性、性能、质量和风格,适合用一致清单检查范围较小的代码变更。
主要功能
- 01按优先级排列审查类别
- 02安全与凭据检查
- 03逻辑和边界情况检查
- 04性能与资源检查
- 05审查结果模板
适用场景
- 01审查小型 Pull Request
- 02检查差异中是否暴露凭据
- 03核验错误处理与边界情况
- 04评估查询和资源效率
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill code-review-checklist安装后在 Claude Code 中输入/code-review-checklist确认已加载。
详细介绍
代码审查清单
系统化的代码变更审查方法。
何时使用此技能
| 适合使用此技能的场景…… | 适合改用其他工具的场景…… |
|---|---|
| 按优先级顺序逐项进行人工审查 | 执行完整的委派审查 → code-review |
| 查找硬编码密钥、注入漏洞或 N+1 查询模式 | 专门扫描反模式 → code-antipatterns |
| 验证 PR 差异中的错误处理和边缘情况 | 直接定位被吞掉的错误 → code-hidden-failures --track errors |
| 对小型变更应用确定性的清单 | 根据清单发现的问题进行重构 → code-refactor |
审查优先级顺序
- 安全性(严重)- 漏洞、密钥、注入
- 正确性(高)- 逻辑错误、破坏性变更
- 性能(中)- 效率低下、资源泄漏
- 质量(中)- 可维护性、可读性
- 风格(低)- 格式、命名(应自动化处理)
安全性检查清单
密钥与凭证
- 未硬编码 API 密钥、密码或令牌
- 日志或错误消息中不包含凭证
- 从环境变量或密钥库加载密钥
注入漏洞
- SQL 查询使用参数化语句
- 将用户输入输出到 HTML 前进行清理(XSS)
- Shell 命令不包含用户输入(命令注入)
- 验证文件路径(路径遍历)
身份验证与授权
- 所有受保护的端点都进行身份验证检查
- 正确处理会话
- 安全处理密码(使用哈希,而非明文)
数据泄露
- 不记录敏感数据
- API 响应不会泄露内部细节
- 错误消息不会暴露系统信息
正确性检查清单
逻辑
- 妥善处理边缘情况(null、空值、边界值)
- 妥善处理错误情况
- 正确等待异步操作完成
- 考虑竞态条件
破坏性变更
- 保持 API 契约不变
- 数据库迁移可回滚
- 对风险较高的变更使用功能开关
测试
- 新代码有对应测试
- 测试覆盖错误路径,而不只是正常路径
- 现有测试仍能通过
性能检查清单
效率
- 没有 N+1 查询
- 使用适当的数据结构
- 没有不必要的循环或迭代
- 考虑为开销较大的操作添加缓存
资源
- 关闭或归还数据库连接至连接池
- 关闭文件句柄
- 没有内存泄漏(移除事件监听器等)
扩展性
- 能处理符合实际情况的数据量
- 对大型结果集进行分页
- 为外部调用设置超时
质量检查清单
可读性
- 名称清晰且具有描述性
- 函数只做一件事
- 没有过于复杂的条件判断
- 注释解释“为什么”,而不是“做什么”
可维护性
- 遵循 DRY 原则(没有复制粘贴导致的重复)
- 抽象层次恰当
- 依赖合理且必要
- 没有死代码
一致性
- 遵循项目惯例
- 符合现有代码风格
- 使用既有的工具函数或辅助函数
审查输出格式
## Review: [PR Title]
**Risk Level**: LOW | MEDIUM | HIGH | CRITICAL
### Critical Issues
1. [Category] Description (file:line)
- Impact: What could go wrong
- Fix: Specific recommendation
### Suggestions
1. [Category] Description (file:line)
- Why: Reasoning
- Consider: Alternative approach
### Positive Notes
- [Recognition of good patterns]
快速检查
快速审查时,至少检查以下内容:
- 是否存在密钥或凭证?
- 是否存在 SQL 注入或命令注入?
- 是否妥善处理错误情况?
- 新代码是否有对应测试?
评论
支持 Markdown