refactor

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/refactor - Refactoring Workflow

/refactor - 重构工作流

Safe refactoring with review gates.
带有评审关卡的安全重构。

When to Use

适用场景

  • "Refactor X"
  • "Clean up this code"
  • "Extract this into a module"
  • "Improve the architecture of Y"
  • Large-scale code restructuring
  • Technical debt reduction
  • "重构X"
  • "清理此代码"
  • "将此提取为模块"
  • "改进Y的架构"
  • 大规模代码重组
  • 技术债务削减

Workflow Overview

工作流概览

┌──────────┐    ┌────────────┐    ┌──────────┐    ┌──────────┐    ┌───────────┐
│ phoenix  │───▶│   plan-    │───▶│  kraken  │───▶│plan-reviewer│───▶│ arbiter  │
│          │    │   agent    │    │          │    │          │    │           │
└──────────┘    └────────────┘    └──────────┘    └──────────┘    └───────────┘
  Analyze         Plan             Implement       Review          Verify
  current         changes          refactor        changes         tests pass
┌──────────┐    ┌────────────┐    ┌──────────┐    ┌──────────┐    ┌───────────┐
│ phoenix  │───▶│   plan-    │───▶│  kraken  │───▶│plan-reviewer│───▶│ arbiter  │
│          │    │   agent    │    │          │    │          │    │           │
└──────────┘    └────────────┘    └──────────┘    └──────────┘    └───────────┘
  分析当前代码      规划变更        实施重构        评审变更        验证测试通过

Agent Sequence

Agent 执行序列

#AgentRoleOutput
1phoenixAnalyze current code, identify improvement areasAnalysis report
2plan-agentCreate safe refactoring planStep-by-step plan
3krakenImplement the refactoringCode changes
4plan-reviewerReview changes for correctnessReview report
5arbiterVerify all tests still passTest report
序号Agent角色输出
1phoenix分析当前代码,识别可改进区域分析报告
2plan-agent创建安全的重构规划分步执行计划
3kraken实施重构代码变更
4plan-reviewer评审变更的正确性评审报告
5arbiter验证所有测试仍可通过测试报告

Refactoring Principles

重构原则

  1. Tests first: Ensure adequate test coverage before refactoring
  2. Small steps: Each change should be independently verifiable
  3. Behavior preserved: No functional changes during refactor
  4. Reviewable: Changes should be easy to review
  1. 测试优先:重构前确保有足够的测试覆盖率
  2. 小步迭代:每个变更都应可独立验证
  3. 保留行为:重构期间不改变功能
  4. 易于评审:变更应便于评审

Execution

执行步骤

Phase 1: Analyze

阶段1:分析

Task(
  subagent_type="phoenix",
  prompt="""
  Analyze for refactoring: [TARGET_CODE]

  Identify:
  - Current pain points
  - Code smells
  - Improvement opportunities
  - Risk areas
  - Test coverage gaps
  """
)
Task(
  subagent_type="phoenix",
  prompt="""
  针对以下代码进行重构分析:[TARGET_CODE]

  请识别:
  - 当前痛点
  - 代码异味
  - 改进机会
  - 风险区域
  - 测试覆盖率缺口
  """
)

Phase 2: Plan

阶段2:规划

Task(
  subagent_type="plan-agent",
  prompt="""
  Plan refactoring: [TARGET_CODE]

  Analysis: [from phoenix]

  Create:
  - Step-by-step refactoring plan
  - Each step should be:
    - Small and focused
    - Independently testable
    - Reversible
  - Identify files affected
  - Risk mitigation strategy
  """
)
Task(
  subagent_type="plan-agent",
  prompt="""
  针对以下代码规划重构:[TARGET_CODE]

  分析结果:[来自phoenix]

  请创建:
  - 分步重构计划
  - 每个步骤需满足:
    - 范围小且聚焦
    - 可独立测试
    - 可回滚
  - 识别受影响的文件
  - 风险缓解策略
  """
)

Phase 3: Implement

阶段3:实施

Task(
  subagent_type="kraken",
  prompt="""
  Implement refactoring: [TARGET_CODE]

  Plan: [from plan-agent]

  Requirements:
  - Follow plan exactly
  - Run tests after each step
  - Stop if tests fail
  - NO behavior changes
  """
)
Task(
  subagent_type="kraken",
  prompt="""
  针对以下代码实施重构:[TARGET_CODE]

  执行计划:[来自plan-agent]

  要求:
  - 严格遵循计划
  - 每步执行后运行测试
  - 测试失败则停止
  - 不得改变功能
  """
)

Phase 4: Review

阶段4:评审

Task(
  subagent_type="plan-reviewer",
  prompt="""
  Review refactoring: [TARGET_CODE]

  Changes: [git diff from kraken]

  Check:
  - Behavior preserved
  - No unintended changes
  - Code quality improved
  - Patterns consistent
  """
)
Task(
  subagent_type="plan-reviewer",
  prompt="""
  评审以下重构变更:[TARGET_CODE]

  变更内容:[来自kraken的git diff]

  请检查:
  - 功能是否保留
  - 有无意外变更
  - 代码质量是否提升
  - 代码模式是否一致
  """
)

Phase 5: Validate

阶段5:验证

Task(
  subagent_type="arbiter",
  prompt="""
  Validate refactoring: [TARGET_CODE]

  - Run full test suite
  - Verify no regressions
  - Check type errors
  - Run linting
  """
)
Task(
  subagent_type="arbiter",
  prompt="""
  验证以下重构结果:[TARGET_CODE]

  - 运行完整测试套件
  - 确认无回归问题
  - 检查类型错误
  - 运行代码检查
  """
)

Refactoring Types

重构类型

Extract Module

提取模块

phoenix → plan-agent → kraken → plan-reviewer → arbiter
phoenix → plan-agent → kraken → plan-reviewer → arbiter

Rename/Restructure

重命名/重组

phoenix → kraken → arbiter  (simpler, skip detailed planning)
phoenix → kraken → arbiter (流程更简单,跳过详细规划)

Architecture Change

架构变更

phoenix → plan-agent → [kraken → plan-reviewer] × N phases → arbiter
phoenix → plan-agent → [kraken → plan-reviewer] × N个阶段 → arbiter

Example

示例

User: /refactor Extract the validation logic into a separate module

Claude: Starting /refactor workflow...

Phase 1: Analyzing current structure...
[Spawns phoenix]
Found: Validation logic spread across 4 files
- form.ts (lines 45-120)
- api.ts (lines 200-280)
- user.ts (lines 15-45)
- order.ts (lines 88-130)

Phase 2: Planning extraction...
[Spawns plan-agent]
Plan:
1. Create src/validation/index.ts
2. Extract common validators
3. Update imports one file at a time
4. Run tests after each change

Phase 3: Implementing...
[Spawns kraken]
Completed all 4 steps, tests green after each

Phase 4: Reviewing changes...
[Spawns plan-reviewer]
✅ All behavior preserved
✅ DRY improved (removed 45 duplicate lines)
✅ New structure consistent

Phase 5: Final validation...
[Spawns arbiter]
✅ 312 tests passing, 0 regressions

Refactoring complete!
用户:/refactor 将验证逻辑提取到独立模块中

Claude:启动/refactor工作流...

阶段1:分析当前结构...
[启动phoenix]
发现:验证逻辑分散在4个文件中
- form.ts(45-120行)
- api.ts(200-280行)
- user.ts(15-45行)
- order.ts(88-130行)

阶段2:规划提取方案...
[启动plan-agent]
计划:
1. 创建src/validation/index.ts
2. 提取通用验证器
3. 逐个文件更新导入
4. 每步变更后运行测试

阶段3:实施重构...
[启动kraken]
完成全部4步,每步测试均通过

阶段4:评审变更...
[启动plan-reviewer]
✅ 所有功能保留
✅ 代码复用性提升(移除45行重复代码)
✅ 新结构一致规范

阶段5:最终验证...
[启动arbiter]
✅ 312个测试全部通过,无回归问题

重构完成!

Safety Flags

安全标记

  • --dry-run
    : Plan but don't implement
  • --step-by-step
    : Pause after each change for approval
  • --coverage-check
    : Require >80% coverage before proceeding
  • --dry-run
    :仅规划不实施
  • --step-by-step
    :每步变更后暂停等待确认
  • --coverage-check
    :要求测试覆盖率>80%才可继续