跳转至

代码审查标准

目的

代码审查用于在代码合并之前确保质量、安全性和可维护性。本规则定义了代码审查的时机和方法。

审查时机

必须审查触发条件:

  • 创建或修改代码后
  • 提交到共享分支前
  • 涉及安全的代码发生变更时(认证、支付、用户数据)
  • 架构变更时
  • 合并拉取请求前

审查前要求:

在请求审查之前,请确认以下事项:

  • 所有自动检查(CI/CD)均已通过
  • 合并冲突已解决
  • 分支已与目标分支保持最新状态

审查检查清单

在将代码标记为完成之前:

  • [ ] 代码可读且命名恰当
  • [ ] 函数职责聚焦(少于 50 行)
  • [ ] 文件内聚(少于 800 行)
  • [ ] 没有深层嵌套(4 级以上)
  • [ ] 错误已显式处理
  • [ ] 没有硬编码的密钥或凭据
  • [ ] 没有 console.log 或调试语句
  • [ ] 新功能存在测试
  • [ ] 测试覆盖率至少达到 80%

安全审查触发条件

在以下情况下请使用 security-reviewer 代理:

  • 认证或授权代码
  • 用户输入处理
  • 数据库查询
  • 文件系统操作
  • 外部 API 调用
  • 加密操作
  • 支付或金融代码

审查严重级别

级别 含义 操作
CRITICAL 安全漏洞或数据丢失风险 BLOCK - 合并前必须修复
HIGH 缺陷或重大质量问题 WARN - 合并前应当修复
MEDIUM 可维护性顾虑 INFO - 考虑修复
LOW 风格或轻微建议 NOTE - 可选

使用代理

代码审查请使用以下代理:

代理 目的
code-reviewer 通用代码质量、模式和最佳实践
security-reviewer 安全漏洞、OWASP Top 10
typescript-reviewer TypeScript/JavaScript 特有问题
python-reviewer Python 特有问题
go-reviewer Go 特有问题
rust-reviewer Rust 特有问题

审查工作流

1. git diffを実行して変更を理解する
2. セキュリティチェックリストを最初に確認する
3. コード品質チェックリストをレビューする
4. 関連するテストを実行する
5. カバレッジ >= 80%を検証する
6. 詳細レビューに適切なエージェントを使用する

常见问题检测

安全

  • 硬编码凭据(API 密钥、密码、token)
  • SQL 注入(查询中的字符串拼接)
  • XSS 漏洞(未转义的用户输入)
  • 路径遍历(未净化的文件路径)
  • 缺少 CSRF 保护
  • 认证绕过

代码质量

  • 大函数(超过 50 行)- 拆分为更小函数
  • 大文件(超过 800 行)- 提取模块
  • 深层嵌套(超过 4 级)- 使用提前返回
  • 缺少错误处理 - 显式处理
  • 可变模式 - 优先使用不可变操作
  • 缺少测试 - 添加测试覆盖率

性能

  • N+1 查询 - 使用 JOIN 或批处理
  • 缺少分页 - 在查询中添加 LIMIT
  • 无约束查询 - 添加约束
  • 缺少缓存 - 缓存高成本操作

批准标准

  • 批准:没有 CRITICAL 或 HIGH 问题
  • 警告:仅有 HIGH 问题(谨慎合并)
  • 阻止:检测到 CRITICAL 问题

与其他规则的集成

本规则与以下内容协同工作:

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC