Files
Claude-Code-Workflow/.claude/skills/review-code/specs/issue-classification.md
catlog22 29c8bb7a66 feat: Add orchestrator and state management for code review process
- Implemented orchestrator logic to manage code review phases, including state reading, action selection, and execution loop.
- Defined state schema for review process, including metadata, context, findings, and execution tracking.
- Created action catalog detailing actions for context collection, quick scan, deep review, report generation, and completion.
- Established error recovery strategies and termination conditions for robust review handling.
- Developed issue classification and quality standards documentation to guide review severity and categorization.
- Introduced review dimensions with detailed checklists for correctness, security, performance, readability, testing, and architecture.
- Added templates for issue reporting and review reports to standardize output and improve clarity.
2026-01-13 14:39:16 +08:00

5.3 KiB

Issue Classification

问题分类和严重程度标准。

When to Use

Phase Usage Section
action-deep-review 确定问题严重程度 Severity Levels
action-generate-report 问题分类展示 Category Mapping

Severity Levels

Critical (严重) 🔴

定义: 必须在合并前修复的阻塞性问题

标准:

  • 安全漏洞 (可被利用)
  • 数据损坏或丢失风险
  • 系统崩溃风险
  • 生产环境重大故障

示例:

  • SQL/XSS/命令注入
  • 硬编码密钥泄露
  • 未捕获的异常导致崩溃
  • 数据库事务未正确处理

响应: 必须立即修复,阻塞合并


High (高) 🟠

定义: 应在合并前修复的重要问题

标准:

  • 功能缺陷
  • 重要边界条件未处理
  • 性能严重退化
  • 资源泄漏

示例:

  • 核心业务逻辑错误
  • 内存泄漏
  • N+1 查询问题
  • 缺少必要的错误处理

响应: 强烈建议修复


Medium (中) 🟡

定义: 建议修复的代码质量问题

标准:

  • 代码可维护性问题
  • 轻微性能问题
  • 测试覆盖不足
  • 不符合团队规范

示例:

  • 函数过长
  • 命名不清晰
  • 缺少注释
  • 代码重复

响应: 建议在后续迭代修复


Low (低) 🔵

定义: 可选优化的问题

标准:

  • 风格问题
  • 微小优化
  • 可读性改进

示例:

  • 变量声明顺序
  • 额外的空行
  • 可以更简洁的写法

响应: 可根据团队偏好处理


Info (信息)

定义: 信息性建议,非问题

标准:

  • 学习机会
  • 替代方案建议
  • 文档完善建议

示例:

  • "这里可以考虑使用新的 API"
  • "建议添加 JSDoc 注释"
  • "可以参考 xxx 模式"

响应: 仅供参考


Category Mapping

By Dimension

Dimension Common Categories
Correctness null-check, boundary, error-handling, type-safety, logic-error
Security injection, xss, hardcoded-secret, auth, sensitive-data
Performance complexity, n+1-query, memory-leak, blocking-io, inefficient-algorithm
Readability naming, function-length, complexity, comments, duplication
Testing coverage, boundary-test, mock-abuse, test-isolation
Architecture layer-violation, circular-dependency, coupling, srp-violation

Category Details

Correctness Categories

Category Description Default Severity
null-check 缺少空值检查 High
boundary 边界条件未处理 High
error-handling 错误处理不当 High
type-safety 类型安全问题 Medium
logic-error 逻辑错误 Critical/High
resource-leak 资源泄漏 High

Security Categories

Category Description Default Severity
injection 注入风险 (SQL/Command) Critical
xss 跨站脚本风险 Critical
hardcoded-secret 硬编码密钥 Critical
auth 认证授权问题 High
sensitive-data 敏感数据暴露 High
insecure-dependency 不安全依赖 Medium

Performance Categories

Category Description Default Severity
complexity 高算法复杂度 Medium
n+1-query N+1 查询问题 High
memory-leak 内存泄漏 High
blocking-io 阻塞 I/O Medium
inefficient-algorithm 低效算法 Medium
missing-cache 缺少缓存 Low

Readability Categories

Category Description Default Severity
naming 命名问题 Medium
function-length 函数过长 Medium
nesting-depth 嵌套过深 Medium
comments 注释问题 Low
duplication 代码重复 Medium
magic-number 魔法数字 Low

Testing Categories

Category Description Default Severity
coverage 测试覆盖不足 Medium
boundary-test 缺少边界测试 Medium
mock-abuse Mock 过度使用 Low
test-isolation 测试不独立 Medium
flaky-test 不稳定测试 High

Architecture Categories

Category Description Default Severity
layer-violation 层次违规 Medium
circular-dependency 循环依赖 High
coupling 耦合过紧 Medium
srp-violation 单一职责违规 Medium
god-class 上帝类 High

Finding ID Format

{PREFIX}-{NNN}

Prefixes by Dimension:
- CORR: Correctness
- SEC:  Security
- PERF: Performance
- READ: Readability
- TEST: Testing
- ARCH: Architecture

Examples:
- SEC-001: First security finding
- CORR-015: 15th correctness finding

Quality Gates

Gate Condition Action
Block Critical > 0 禁止合并
Warn High > 0 需要审批
Pass Critical = 0, High = 0 允许合并
Metric Ideal Acceptable Needs Work
Critical 0 0 Any > 0
High 0 ≤ 2 > 2
Medium ≤ 5 ≤ 10 > 10
Total ≤ 10 ≤ 20 > 20