From dev
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev:code-review-and-qualityThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
多维代码审查,带质量门禁。审查覆盖五个维度:正确性、可读性、架构、安全性、性能。
多维代码审查,带质量门禁。审查覆盖五个维度:正确性、可读性、架构、安全性、性能。
代码是否做到了它声称要做的事?
另一个工程师(或 Agent)能在没有作者解释的情况下理解这段代码吗?
temp、data、result)// removed 注释?变更是否适合系统设计?
详细安全指导见 security-and-hardening。变更是否引入漏洞?
变更是否引入性能问题?
小、聚焦的变更更容易审查、更快速合并、更安全部署。以这些大小为目标:
~100 行变更 → 优秀。可以一次性审查完毕。
~300 行变更 → 可接受,如果是单个逻辑变更。
~1000 行变更 → 太大了。拆分它。
"一个变更"意味着什么: 一个单独的自包含修改,处理一件事,包含相关测试,提交后系统保持在功能状态。功能的一部分——不是整个功能。
变更太大时的拆分策略:
| 策略 | 方法 | 适用场景 |
|---|---|---|
| 堆叠 | 提交一个小变更,基于它开始下一个 | 串行依赖 |
| 按文件组 | 对需要不同审查者的人员组分出独立变更 | 跨领域关注 |
| 横向 | 先创建共享代码/存根,再创建消费者 | 分层架构 |
| 纵向 | 拆分为功能的更小全栈切片 | 功能开发 |
大变更可接受的情况: 完整文件删除和自动化重构——审查者只需验证意图,而非每一行。
将重构与功能分开。 一个既重构已有代码又添加新行为的变更是两个变更——分别提交。小清理(变量重命名)可在审查者酌情下包含。
每个变更需要一个在版本控制历史中独立存在的描述。
前缀: feat、fix、refactor、docs、test、chore、perf、style 等。选择最能描述变更类型的前缀。
第一行: 简短、祈使语气、独立。"删除 FizzBuzz RPC"而非"正在删除 FizzBuzz RPC"。必须信息足够,使搜索历史的人无需阅读 diff 就能理解变更。
正文: 什么在变,为什么。包含代码本身不可见的上下文、决策和推理。链接到 bug 编号、基准测试结果或设计文档(如果有)。当方法存在不足时承认它。
反模式: "修复 bug"、"修复构建"、"添加补丁"、"把代码从 A 移到 B"、"阶段 1"、"添加便利功能"。
在看代码之前,理解意图:
- 这个变更试图达到什么目的?
- 它实现了什么 spec 或任务?
- 预期的行为变更是什么?
测试揭示意图和覆盖:
- 是否存在针对此变更的测试?
- 它们是否测试行为(而非实现细节)?
- 边界情况是否覆盖?
- 测试是否有描述性名称?
- 如果代码改变了,测试能否捕获回归?
以五轴视角浏览代码:
对每个变更的文件:
1. 正确性:这段代码做到了测试说它应该做的事吗?
2. 可读性:我能不需帮助就理解它吗?
3. 架构:这适合系统设计吗?
4. 安全性:有漏洞吗?
5. 性能:有瓶颈吗?
为每一条评论标注严重级别,使作者知道什么是必须的、什么是可选的:
| 前缀 | 含义 | 作者行为 |
|---|---|---|
| (无前缀) | 必须的变更 | 合并前必须处理 |
| Critical: | 阻止合并 | 安全漏洞、数据丢失、损坏的功能 |
| Nit: | 次要,可选 | 作者可忽略——格式、风格偏好 |
| Optional: / Consider: | 建议 | 值得考虑但不必须 |
| FYI | 仅供参考 | 无需行动——为未来参考的上下文 |
检查作者的验证叙述:
- 运行了什么测试?
- 构建通过了吗?
- 变更有手动测试过吗?
- UI 变更有截图吗?
- 有前后对比吗?
## Review: [PR/变更标题]
### 上下文
- [ ] 我理解这个变更是做什么的,为什么
### 正确性
- [ ] 变更匹配 spec/任务需求
- [ ] 边界情况已处理
- [ ] 错误路径已处理
- [ ] 测试充分覆盖变更
### 可读性
- [ ] 名称清晰且一致
- [ ] 逻辑直观
- [ ] 无不必要复杂度
### 架构
- [ ] 遵循已有模式
- [ ] 无不必要耦合或依赖
- [ ] 合适的抽象层级
### 安全性
- [ ] 代码中无密钥
- [ ] 输入在边界验证
- [ ] 无注入漏洞
- [ ] 认证检查到位
- [ ] 外部数据源被视为不信任数据
### 性能
- [ ] 无 N+1 模式
- [ ] 无无界操作
- [ ] 列表端点有分页
### 验证
- [ ] 测试通过
- [ ] 构建成功
- [ ] 手动验证完成(如适用)
### 裁决
- [ ] **批准** — 准备好合并
- [ ] **请求修改** — 问题必须处理
references/security-checklist.md审查完成后:
npx claudepluginhub dogemassaji/cc-plugins-marketplace --plugin devProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.