软件代码审查 software-code-review

此技能用于结构化代码审查,提供检查清单、模板和决策树,帮助开发者系统化地审查代码的各个方面,包括安全性、性能、正确性、可维护性和测试覆盖率。关键词:代码审查、代码质量、软件测试、安全审计、性能优化、开发最佳实践、自动化审查、AI辅助、拉取请求审查。

测试 0 次安装 0 次浏览 更新于 3/7/2026

名称: 软件代码审查 描述: 用于审查代码、拉取请求或差异。提供模式、检查清单和模板,用于系统化的代码审查,专注于正确性、安全性、可读性、性能和可维护性。

代码审查技能 — 快速参考

此技能提供结构化代码审查的操作检查清单和提示,适用于多种语言和堆栈。当主要任务是审查现有代码而非设计新系统时使用。

快速参考

审查类型 重点领域 关键检查清单 何时使用
安全审查 认证、输入验证、秘密、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加密/金融科技服务,请参见:

关键规则摘要:

  • 仅审查MR中的新/修改代码
  • 使用decimal表示财务值,UTC表示日期
  • 遵循CC-SEC-03(代码中无秘密)和CC-OBS-02(日志中无敏感数据)
  • I/O使用异步,传递CancellationToken,避免.Result/.Wait()(参见CC-ERR-04CC-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,按顺序应用多个审查模式:

  1. 安全优先(P0/P1问题)
  2. 正确性(逻辑、边界情况)
  3. 性能(如果适用)
  4. 可维护性(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标记问题手动确认
  • [ ] 误报记录以改进工具
  • [ ] 人类审查者明确批准

简单性与复杂性控制

  • 当行为相同时,优先使用现有、经过验证的库而非定制实现。
  • 尽早标记可避免的复杂性:删除死代码/注释代码、合并重复、提取单一职责助手。
  • 指出过早优化;优先清晰度和基于证据的调优。
  • 鼓励在审查旁边进行增量重构,以保持模块小巧、可预测和符合标准。

操作剧本

共享基础

代码审查特定

默认审查输出(面向代理)

生成审查时,默认:

  • 意图 + 风险的简短摘要
  • P0/P1/P2/P3分组发现(标记必需与可选)
  • 具体建议(最小差异或测试用例)
  • 当需求或约束不明确时,提出后续问题

使用assets/core/review-comment-guidelines.md获取评论风格和标签指南。

导航

资源

模板

数据


趋势意识协议

重要: 当用户询问有关代码审查工具、实践或自动化的推荐问题时,您必须在使用WebSearch检查当前趋势后再回答。

触发条件

  • “什么是好的代码审查工具?”
  • “我应该用什么进行[自动化代码审查/PR自动化]?”
  • “代码审查实践的最新情况?”
  • “[代码审查/PR工作流]的当前最佳实践?”
  • “[GitHub Copilot PR/CodeRabbit]在2026年还相关吗?”
  • “[CodeRabbit] vs [Graphite] vs [其他]?”
  • “最好的AI代码审查助手?”

必需搜索

  1. 搜索:“代码审查最佳实践 2026”
  2. 搜索:“[特定工具] vs 替代品 2026”
  3. 搜索:“AI代码审查工具 2026年1月”
  4. 搜索:“PR自动化趋势 2026”

报告内容

搜索后,提供:

  • 当前格局: 现在流行的代码审查工具/实践
  • 新兴趋势: 新的AI助手、PR工具或审查模式获得关注
  • 已弃用/下降: 失去相关性或支持的工具/方法
  • 推荐: 基于新鲜数据,而非静态知识

示例主题(通过新鲜搜索验证)

  • AI代码审查(GitHub Copilot PR、CodeRabbit、Cursor)
  • PR自动化(Graphite、堆叠PR、合并队列)
  • 代码审查平台(GitHub、GitLab、Bitbucket)
  • 审查机器人和自动化
  • 分布式团队的异步审查实践
  • 审查指标和分析工具