Files
Claude-Code-Workflow/docs/skills/specs/review-dimensions.md
catlog22 8ceae6d6fd Add Chinese documentation for custom skills development and reference guide
- Created a new document for custom skills development (`custom.md`) detailing the structure, creation, implementation, and best practices for developing custom CCW skills.
- Added an index document (`index.md`) summarizing all built-in skills, their categories, and usage examples.
- Introduced a reference guide (`reference.md`) providing a quick reference for all 33 built-in CCW skills, including triggers and purposes.
2026-03-01 13:08:12 +08:00

183 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)