名称: 软件代码审查 描述: 用于审查代码、拉取请求或差异。提供模式、检查清单和模板,用于系统化的代码审查,专注于正确性、安全性、可读性、性能和可维护性。
代码审查技能 — 快速参考
此技能提供结构化代码审查的操作检查清单和提示,适用于多种语言和堆栈。当主要任务是审查现有代码而非设计新系统时使用。
快速参考
| 审查类型 | 重点领域 | 关键检查清单 | 何时使用 |
|---|---|---|---|
| 安全审查 | 认证、输入验证、秘密、OWASP Top 10 | 软件安全应用安全 | 安全关键代码、API端点 |
| 供应链审查 | 依赖项、锁定文件、许可证、SBOM、CI策略 | 开发依赖管理 | 依赖项更新、构建/CI变更 |
| 性能审查 | N+1查询、算法、缓存、热点路径 | 数据库查询、循环、内存分配 | 高流量功能、瓶颈 |
| 正确性审查 | 逻辑、边界情况、错误处理、测试 | 边界条件、空检查、重试 | 业务逻辑、数据转换 |
| 可维护性审查 | 命名、复杂性、重复性、可读性 | 函数长度、命名清晰度、DRY原则 | 复杂模块、共享代码 |
| 测试审查 | 覆盖率、边界情况、不稳定性、断言 | 测试质量、缺失场景 | 新功能、重构 |
| 前端审查 | 可访问性、响应式设计、性能 | 前端审查.md | UI/UX变更 |
| 后端审查 | API设计、错误处理、数据库模式 | API审查.md | API端点、服务 |
| 区块链审查 | 重入攻击、访问控制、gas优化 | 加密货币审查.md | 智能合约、DeFi协议 |
专门化: .NET/EF Core 加密集成
除非审查使用Entity Framework Core的C#/.NET加密/金融科技服务,否则跳过。
对于使用Entity Framework Core的C#/.NET加密/金融科技服务,请参见:
- references/dotnet-efcore-crypto-rules.md — 完整审查规则(正确性、安全性、异步、EF Core、测试、MRs)
关键规则摘要:
- 仅审查MR中的新/修改代码
- 使用
decimal表示财务值,UTC表示日期 - 遵循
CC-SEC-03(代码中无秘密)和CC-OBS-02(日志中无敏感数据) - I/O使用异步,传递
CancellationToken,避免.Result/.Wait()(参见CC-ERR-04、CC-FLOW-03) - EF Core:读取使用
AsNoTracking,避免N+1,无动态SQL Result<T>模式用于显式成功/失败
何时使用此技能
当用户要求以下时调用此技能:
- 审查拉取请求或差异以查找问题
- 审计代码的安全漏洞或注入风险
- 提高可读性、结构和可维护性
- 建议有针对性的重构而不改变行为
- 验证测试和边界情况覆盖率
何时不使用此技能
- 系统设计或架构: 使用软件架构设计进行绿地架构决策
- 从头编写新代码: 此技能审查现有代码,而非创作新功能
- 深度安全审计: 对于渗透测试或全面安全评估,使用软件安全应用安全
- 深度性能调查: 对于性能分析/可观察性,使用QA可观察性,对于SQL/查询优化,使用数据SQL优化
决策树: 选择审查模式
代码审查任务: [聚焦于什么?]
├─ 安全关键变更?
│ ├─ 认证/访问控制 → 安全审查(OWASP、认证模式)
│ ├─ 用户输入处理 → 输入验证、XSS、SQL注入
│ └─ 智能合约 → 区块链审查(重入攻击、访问控制)
│
├─ 性能担忧?
│ ├─ 数据库查询 → 检查N+1、缺失索引
│ ├─ 循环/算法 → 复杂性分析、缓存
│ └─ API响应时间 → 性能分析、延迟加载
│
├─ 正确性问题?
│ ├─ 业务逻辑 → 边界情况、错误处理、测试
│ ├─ 数据转换 → 边界条件、空检查
│ └─ 集成点 → 重试逻辑、超时、后备方案
│
├─ 可维护性问题?
│ ├─ 复杂代码 → 命名、函数长度、重复性
│ ├─ 难以理解 → 注释、抽象、清晰度
│ └─ 技术债务 → 重构建议
│
├─ 测试覆盖缺口?
│ ├─ 新功能 → 正常路径 + 错误情况
│ ├─ 重构 → 回归测试
│ └─ 错误修复 → 复现测试
│
└─ 堆栈特定审查?
├─ 前端 → [前端审查.md](assets/web-frontend/frontend-review.md)
├─ 后端 → [API审查.md](assets/backend-api/api-review.md)
├─ 移动端 → [移动审查.md](assets/mobile/mobile-review.md)
├─ 基础设施 → [基础设施审查.md](assets/infrastructure/infrastructure-review.md)
└─ 区块链 → [加密货币审查.md](assets/blockchain/crypto-review.md)
多模式审查:
对于复杂PR,按顺序应用多个审查模式:
- 安全优先(P0/P1问题)
- 正确性(逻辑、边界情况)
- 性能(如果适用)
- 可维护性(P2/P3建议)
异步审查工作流(2026)
时区友好审查
| 实践 | 实现 |
|---|---|
| 审查窗口 | 定义4小时重叠窗口 |
| 审查轮换 | 跨时区分配审查者 |
| 异步沟通 | 使用PR评论,而非直接消息 |
| 审查SLA | 24小时初始响应,48小时完成 |
非阻塞审查
PR提交 -> 自动检查(CI) -> 异步审查 -> 合并
| | |
作者继续其他工作 如果通过, 审查者在有空时
排队等待审查 发表评论
反模式:
- 常规PR的同步审查会议
- 非关键变更阻塞于审查者可用性
- 单一审查者瓶颈
审查优先级矩阵
| 优先级 | 标准 | SLA |
|---|---|---|
| P0 | 安全修复、生产事故 | 4小时 |
| P1 | 错误修复、阻塞依赖 | 24小时 |
| P2 | 功能工作、技术债务 | 48小时 |
| P3 | 文档、重构 | 72小时 |
可选: AI/自动化扩展
注意: AI辅助审查工具。人类审查保持权威。
AI审查助手
| 工具 | 使用案例 | 限制 |
|---|---|---|
| GitHub Copilot PR | 摘要、建议 | 可能缺失上下文 |
| CodeRabbit | 自动化PR评论 | 需要人工验证 |
| Qodo | 测试生成 + 审查,15+工作流 | 企业定价 |
| OpenAI Codex | 系统级代码库上下文 | 需要API集成 |
| AWS Security Agent | OWASP Top 10、策略违规 | 仅预览(2026) |
| Endor Labs AI SAST | AI辅助SAST | 安全聚焦 |
| Graphite | PR堆叠、堆栈感知合并队列 | 流程,而非内容 |
AI助手规则:
- AI建议仅作参考
- 人类审查者批准/拒绝
- AI不能绕过安全审查
- AI发现需手动验证
AI审查检查清单
- [ ] AI建议根据代码库模式验证
- [ ] AI标记问题手动确认
- [ ] 误报记录以改进工具
- [ ] 人类审查者明确批准
简单性与复杂性控制
- 当行为相同时,优先使用现有、经过验证的库而非定制实现。
- 尽早标记可避免的复杂性:删除死代码/注释代码、合并重复、提取单一职责助手。
- 指出过早优化;优先清晰度和基于证据的调优。
- 鼓励在审查旁边进行增量重构,以保持模块小巧、可预测和符合标准。
操作剧本
共享基础
- …/software-clean-code-standard/references/clean-code-standard.md - 规范清洁代码规则(
CC-*),用于审查中引用 - 遗留剧本: …/software-clean-code-standard/references/code-quality-operational-playbook.md -
RULE-01–RULE-13、重构决策树和设计模式
代码审查特定
- references/operational-playbook.md — 审查范围规则、严重性评级(P0-P3)、检查清单、模式和PR工作流模式
默认审查输出(面向代理)
生成审查时,默认:
- 意图 + 风险的简短摘要
- 按
P0/P1/P2/P3分组发现(标记必需与可选) - 具体建议(最小差异或测试用例)
- 当需求或约束不明确时,提出后续问题
使用assets/core/review-comment-guidelines.md获取评论风格和标签指南。
导航
资源
- references/operational-playbook.md
- references/review-checklist-comprehensive.md
- references/implementing-effective-code-reviews-checklist.md
- references/looks-good-to-me-checklist.md
- references/automation-tools.md
- references/dotnet-efcore-crypto-rules.md
- references/psychological-safety-guide.md
模板
- assets/core/pull-request-description-template.md
- assets/core/review-checklist-judgment.md
- assets/core/review-comment-guidelines.md
- assets/backend-api/api-review.md
- assets/web-frontend/frontend-review.md
- assets/mobile/mobile-review.md
- assets/infrastructure/infrastructure-review.md
- assets/blockchain/crypto-review.md
- assets/data-ml/data-pipeline-review.md
- assets/data-ml/experiment-tracking-review.md
- assets/data-ml/ml-model-review.md
- assets/data-ml/ml-deployment-review.md
数据
- data/sources.json — 精选外部引用
- 共享检查清单: …/software-clean-code-standard/assets/checklists/secure-code-review-checklist.md, …/software-clean-code-standard/assets/checklists/backend-api-review-checklist.md
趋势意识协议
重要: 当用户询问有关代码审查工具、实践或自动化的推荐问题时,您必须在使用WebSearch检查当前趋势后再回答。
触发条件
- “什么是好的代码审查工具?”
- “我应该用什么进行[自动化代码审查/PR自动化]?”
- “代码审查实践的最新情况?”
- “[代码审查/PR工作流]的当前最佳实践?”
- “[GitHub Copilot PR/CodeRabbit]在2026年还相关吗?”
- “[CodeRabbit] vs [Graphite] vs [其他]?”
- “最好的AI代码审查助手?”
必需搜索
- 搜索:
“代码审查最佳实践 2026” - 搜索:
“[特定工具] vs 替代品 2026” - 搜索:
“AI代码审查工具 2026年1月” - 搜索:
“PR自动化趋势 2026”
报告内容
搜索后,提供:
- 当前格局: 现在流行的代码审查工具/实践
- 新兴趋势: 新的AI助手、PR工具或审查模式获得关注
- 已弃用/下降: 失去相关性或支持的工具/方法
- 推荐: 基于新鲜数据,而非静态知识
示例主题(通过新鲜搜索验证)
- AI代码审查(GitHub Copilot PR、CodeRabbit、Cursor)
- PR自动化(Graphite、堆叠PR、合并队列)
- 代码审查平台(GitHub、GitLab、Bitbucket)
- 审查机器人和自动化
- 分布式团队的异步审查实践
- 审查指标和分析工具