mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-31 06:03:29 +08:00
- Add missing code-review.md and development-workflow.md to zh/README.md directory listing - Add mkdir -p command before copy in manual install instructions - Fix TypeScript test command path in SKILL-DEVELOPMENT-GUIDE.md - Add Anti-Patterns section to SKILL.md template - Add Template category to Skill Categories table in CONTRIBUTING.md - Add Pre-Review Requirements section to code-review.md (both en and zh) - Add Pre-Review Checks step to development-workflow.md (both en and zh) - Add trailing newlines to all files that were missing them
3.2 KiB
3.2 KiB
代码审查标准
目的
代码审查确保代码合并前的质量、安全性和可维护性。此规则定义何时以及如何进行代码审查。
何时审查
强制审查触发条件:
- 编写或修改代码后
- 提交到共享分支之前
- 更改安全敏感代码时(认证、支付、用户数据)
- 进行架构更改时
- 合并 pull request 之前
审查前要求:
在请求审查之前,确保:
- 所有自动化检查(CI/CD)已通过
- 合并冲突已解决
- 分支已与目标分支同步
审查检查清单
在标记代码完成之前:
- 代码可读且命名良好
- 函数聚焦(<50 行)
- 文件内聚(<800 行)
- 无深层嵌套(>4 层)
- 错误显式处理
- 无硬编码密钥或凭据
- 无 console.log 或调试语句
- 新功能有测试
- 测试覆盖率满足 80% 最低要求
安全审查触发条件
停止并使用 security-reviewer 代理当:
- 认证或授权代码
- 用户输入处理
- 数据库查询
- 文件系统操作
- 外部 API 调用
- 加密操作
- 支付或金融代码
审查严重级别
| 级别 | 含义 | 行动 |
|---|---|---|
| CRITICAL(关键) | 安全漏洞或数据丢失风险 | 阻止 - 合并前必须修复 |
| HIGH(高) | Bug 或重大质量问题 | 警告 - 合并前应修复 |
| MEDIUM(中) | 可维护性问题 | 信息 - 考虑修复 |
| LOW(低) | 风格或次要建议 | 注意 - 可选 |
代理使用
使用这些代理进行代码审查:
| 代理 | 用途 |
|---|---|
| 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 密钥、密码、令牌)
- SQL 注入(查询中的字符串拼接)
- XSS 漏洞(未转义的用户输入)
- 路径遍历(未净化的文件路径)
- CSRF 保护缺失
- 认证绕过
代码质量
- 大函数(>50 行)- 拆分为更小的
- 大文件(>800 行)- 提取模块
- 深层嵌套(>4 层)- 使用提前返回
- 缺少错误处理 - 显式处理
- 变更模式 - 优先使用不可变操作
- 缺少测试 - 添加测试覆盖
性能
- N+1 查询 - 使用 JOIN 或批处理
- 缺少分页 - 给查询添加 LIMIT
- 无界查询 - 添加约束
- 缺少缓存 - 缓存昂贵操作
批准标准
- 批准:无关键或高优先级问题
- 警告:仅有高优先级问题(谨慎合并)
- 阻止:发现关键问题
与其他规则的集成
此规则与以下规则配合:
- testing.md - 测试覆盖率要求
- security.md - 安全检查清单
- git-workflow.md - 提交标准
- agents.md - 代理委托