# Review Dimensions > 本文档定义代码审查的 6 个维度及每个维度的检查点。 ## 概述 代码审查分为 6 个维度,每个维度包含多个检查点。审查时应对每个维度进行评分和记录。 ## 审查维度 ### 1. Correctness (正确性) **关注点**: 代码逻辑是否正确,边界条件是否处理,错误处理是否完善。 | 检查点 | 描述 | 严重性 | |--------|------|--------| | 边界条件 | 空、null、undefined、数组越界 | Critical | | 错误处理 | try-catch、错误传播、用户反馈 | High | | 类型安全 | 类型转换、类型断言、any 使用 | High | | 数据验证 | 输入验证、输出校验 | High | | 并发安全 | 竞态条件、死锁风险 | Medium | **评分标准**: - **9-10**: 无明显问题,处理完善 - **7-8**: 有小问题但不影响功能 - **5-6**: 存在潜在问题,需要修复 - **< 5**: 严重问题,必须修复 --- ### 2. Readability (可读性) **关注点**: 代码是否易于理解,命名是否清晰,注释是否恰当。 | 检查点 | 描述 | 严重性 | |--------|------|--------| | 命名规范 | 变量、函数、类名语义化 | Medium | | 函数长度 | 单一职责,长度适中 | Medium | | 复杂度 | 圈复杂度、嵌套层级 | Medium | | 注释质量 | 解释"为什么"而非"是什么" | Low | | 代码格式 | 缩进、空行、对齐 | Low | **评分标准**: - **9-10**: 代码如散文般清晰 - **7-8**: 大部分清晰,少量困惑点 - **5-6**: 需要额外时间理解 - **< 5**: 代码难以理解 --- ### 3. Performance (性能) **关注点**: 算法效率、资源使用、I/O 优化。 | 检查点 | 描述 | 严重性 | |--------|------|--------| | 算法复杂度 | 时间/空间复杂度合理 | High | | 数据结构选择 | 使用合适的数据结构 | High | | I/O 优化 | 减少网络/磁盘访问 | Medium | | 缓存策略 | 适当使用缓存 | Medium | | 资源释放 | 内存泄漏、连接关闭 | High | **评分标准**: - **9-10**: 性能优化充分 - **7-8**: 性能可接受,有小优化空间 - **5-6**: 存在明显性能问题 - **< 5**: 严重性能问题 --- ### 4. Security (安全) **关注点**: 注入风险、敏感数据、权限控制。 | 检查点 | 描述 | 严重性 | |--------|------|--------| | 注入风险 | SQL、命令、XSS 注入 | Critical | | 敏感数据 | 密码、密钥、token 处理 | Critical | | 权限控制 | 认证、授权检查 | High | | 数据验证 | 输入净化、输出编码 | High | | 依赖安全 | 已知漏洞的依赖 | Medium | **评分标准**: - **9-10**: 无明显安全问题 - **7-8**: 低风险问题 - **5-6**: 中等风险,需要修复 - **< 5**: 高风险问题,必须修复 --- ### 5. Testing (测试) **关注点**: 测试覆盖度、测试质量、测试可维护性。 | 检查点 | 描述 | 严重性 | |--------|------|--------| | 覆盖度 | 单元测试、集成测试覆盖 | High | | 边界测试 | 边界条件、异常情况测试 | Medium | | 断言质量 | 断言有意义、不脆弱 | Medium | | 测试可读性 | 测试意图清晰 | Low | | Mock/Stub | 适当使用测试替身 | Medium | **评分标准**: - **9-10**: 测试充分,质量高 - **7-8**: 测试覆盖主要场景 - **5-6**: 测试不足,需要补充 - **< 5**: 缺少测试 --- ### 6. Architecture (架构) **关注点**: 设计模式、分层结构、依赖管理。 | 检查点 | 描述 | 严重性 | |--------|------|--------| | 设计模式 | 适当使用设计模式 | Medium | | 模块化 | 高内聚、低耦合 | High | | 依赖方向 | 依赖倒置、循环依赖 | High | | 接口设计 | 接口稳定、扩展点明确 | Medium | | 一致性 | 与现有架构风格一致 | Medium | **评分标准**: - **9-10**: 架构清晰,易于扩展 - **7-8**: 架构合理,小问题 - **5-6**: 架构问题,需要重构 - **< 5**: 架构混乱 --- ## 审查报告格式 ### 单维度报告模板 ```markdown ### Correctness: 7/10 **发现的问题**: #### [H] Null pointer risk - **位置**: `src/auth.ts:45` - **问题**: 用户对象可能为 null,直接访问属性会崩溃 - **建议**: ```typescript // 添加空检查 if (user) { return user.name; } return 'Anonymous'; ``` #### [M] Missing error handling - **位置**: `src/api.ts:78` - **问题**: 网络请求没有错误处理 - **建议**: 添加 try-catch **优点**: - 边界条件检查完善 - 类型使用恰当 ``` --- ## 快速扫描检查点 快速扫描阶段只检查高优先级问题: | 维度 | 高优先级检查点 | |------|----------------| | Correctness | 空指针、类型断言、未处理 Promise | | Readability | 过长函数 (>50行)、过深嵌套 (>4层) | | Performance | O(n²) 以上算法、循环中 I/O | | Security | SQL 注入、XSS、硬编码密钥 | | Testing | 关键路径缺少测试 | | Architecture | 循环依赖、上帝对象 | --- ## 参考 - [Issue Classification](issue-classification.md) - [Quality Standards](quality-standards.md)