🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx skills add https://github.com/sanyuan0704/code-review-expert --skill code-review-expert
💡 提示:需要 Node.js 和 NPM
代码审查专家
概述
对当前的 Git 更改进行结构化审查,重点关注 SOLID 原则、架构、可移除代码和安全隐患。默认仅输出审查结果,除非用户要求实施更改。
严重性级别
| 级别 | 名称 | 描述 | 行动 |
|---|---|---|---|
| P0 | 严重 | 安全漏洞、数据丢失风险、正确性缺陷 | 必须阻止合并 |
| P1 | 高 | 逻辑错误、严重的 SOLID 违规、性能回退 | 应在合并前修复 |
| P2 | 中 | 代码异味、可维护性问题、轻微的 SOLID 违规 | 在此 PR 中修复或创建后续任务 |
| P3 | 低 | 风格、命名、轻微建议 | 可选的改进 |
工作流程
1) 预备上下文
- 使用
git status -sb、git diff --stat和git diff来界定更改范围。 - 如果需要,使用
rg或grep查找相关模块、使用情况和契约。 - 识别入口点、所有权边界和关键路径(身份验证、支付、数据写入、网络)。
边界情况:
- 无更改:如果
git diff为空,告知用户并询问他们是否要审查暂存的更改或特定的提交范围。 - 大差异(超过 500 行):先按文件总结,然后按模块/功能区域分批审查。
- 混合关注点:按逻辑功能分组发现的问题,而不是仅按文件顺序。
2) SOLID + 架构异味
- 加载
references/solid-checklist.md获取具体提示。 - 检查是否存在:
- 单一职责原则 (SRP):模块承担了过多不相关的职责。
- 开闭原则 (OCP):频繁编辑以添加行为,而不是通过扩展点添加。
- 里氏替换原则 (LSP):子类破坏了预期行为或需要进行类型检查。
- 接口隔离原则 (ISP):接口过于庞大,包含未使用的方法。
- 依赖倒置原则 (DIP):高层逻辑直接依赖于低层实现。
- 当你提出重构建议时,解释其为何能改善内聚性/耦合度,并概述一个最小、安全的拆分方案。
- 如果重构比较复杂,建议一个渐进式计划,而不是一次大规模重写。
3) 可移除代码 + 迭代计划
- 加载
references/removal-plan.md获取模板。 - 识别未使用、冗余或被特性开关关闭的代码。
- 区分 现在可以安全删除 和 需要计划后延迟删除 的代码。
- 提供一个包含具体步骤和检查点(测试/指标)的后续计划。
4) 安全与可靠性扫描
- 加载
references/security-checklist.md获取全面覆盖。 - 检查是否存在:
- XSS、注入(SQL/NoSQL/命令)、SSRF、路径遍历
- 授权/认证漏洞、缺失租户隔离检查
- 密钥泄露或 API 密钥出现在日志/环境变量/文件中
- 速率限制、无限循环、CPU/内存热点
- 不安全的反序列化、弱加密、不安全的默认设置
- 竞态条件:并发访问、检查后执行(check-then-act)、检查时间到使用时间(TOCTOU)、缺少锁
- 指出问题的 可利用性 和 影响。
5) 代码质量扫描
- 加载
references/code-quality-checklist.md获取全面覆盖。 - 检查是否存在:
- 错误处理:吞没异常、捕获范围过广、缺少错误处理、异步错误
- 性能:N+1 查询、CPU 密集型操作在热点路径上、缺少缓存、内存无限制
- 边界条件:null/undefined 处理、空集合、数值边界、差一错误
- 标记可能导致静默失败或生产事故的问题。
6) 输出格式
按以下结构组织你的审查结果:
## 代码审查摘要
**审查文件**:X 个文件,Y 行更改
**总体评估**:[通过 / 请求更改 / 评论]
---
## 发现的问题
### P0 - 严重
(无或列表)
### P1 - 高
1. **[文件:行号]** 简短标题
- 问题描述
- 建议的修复方案
### P2 - 中
2. (跨区域连续编号)
- ...
### P3 - 低
...
---
## 移除/迭代计划
(如果适用)
## 额外建议
(可选的改进,非阻塞项)
内联评论:对于特定文件的发现,使用此格式:
::code-comment{file="path/to/file.ts" line="42" severity="P1"}
问题描述和建议的修复方案。
::
干净的审查:如果没有发现问题,明确说明:
- 检查了哪些方面
- 未涵盖的任何领域(例如,“未验证数据库迁移”)
- 残留风险或建议的后续测试
7) 下一步确认
在提出发现后,询问用户如何进行:
---
## 下一步
我发现了 X 个问题(P0:_,P1:_,P2:_,P3:_)。
**您希望如何进行?**
1. **修复所有问题** - 我将实施所有建议的修复
2. **仅修复 P0/P1** - 处理严重和高优先级问题
3. **修复特定项** - 告诉我需要修复哪些问题
4. **不做更改** - 审查完成,无需实施
请选择一个选项或提供具体说明。
重要:在用户明确确认之前,不要实施任何更改。这是一个审查优先的工作流程。
资源
references/ 目录
| 文件 | 用途 |
|---|---|
solid-checklist.md |
SOLID 异味提示和重构启发法 |
security-checklist.md |
Web/应用程序安全性和运行时风险清单 |
code-quality-checklist.md |
错误处理、性能、边界条件 |
removal-plan.md |
用于删除候选代码和后续计划的模板 |
📄 原始文档
完整文档(英文):
https://skills.sh/sanyuan0704/code-review-expert/code-review-expert
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)