使用情境 · Claude Code

用 Claude Code 重構:先規劃、小步前進、測試保持通過

重構是 agent 最能省時間、也最可能闖禍的地方。Claude Code 有安全完成重構所需的工具:plan mode 讓你在任何修改之前先對變更取得共識,worktree 讓工作不碰你的主要簽出,dynamic workflow 把大型遷移分給許多 subagent,/simplify 則整理改過的程式碼。本頁說明設定、規則,以及一套每天把重構往前推一點的例行工作。

重構:Claude Code 能做什麼

  • 以小步驟處理重構待辦清單,每一步都是獨立的 pull request。
  • 每一步前後都執行測試,測試失敗就停下來。
  • 處理遷移中機械性的部分:整個程式碼庫的重新命名、API 升級、改用新的函式庫。
  • 移除沒用到的程式碼和重複的邏輯,並說明每一處移除的理由。

重構:用得上的 Claude Code 功能

功能用途怎麼開始
Plan mode在修改任何東西之前,先提出變更內容和步驟順序/plan Move billing from callbacks to async/await
Worktree在獨立的分支和資料夾裡進行重構,和你的簽出分開claude --worktree billing-async
Dynamic workflows用腳本調度許多 subagent,適合大型遷移和程式碼庫稽核請它建立 workflow;在 /workflows 裡追蹤
/simplify審查改過的程式碼能否重用、簡化或更有效率,然後套用修正每一步之後執行

重構:如何設定 Claude Code

  1. 連接工具

    不需要連接任何東西。讓重構安全的是 Claude 能執行的測試指令,以及每一步的大小上限,所以把兩者都寫進 CLAUDE.md,並從 worktree 開始。

    # 在獨立的 worktree 裡開始重構
    claude --worktree billing-async
    
    # 任何修改之前,先對計畫取得共識
    /plan Move the billing module from callbacks to async/await
  2. 把規則寫進 CLAUDE.md

    Claude Code 在每個工作階段開始時都會讀取 CLAUDE.md,claude -p 的執行也一樣。把這項工作的規則寫在那裡;規則很長的話,放進 .claude/skills/ 下的 skill。參見 CLAUDE.md 指南。

    ## 重構規則
    - 不改變行為。如果必須修改測試,先停下來問。
    - 開始前和每一步之後都執行 `npm test`。
    - 每個 pull request 只做一步,變更不超過 400 行。
    - 隨時更新 REFACTOR.md:勾掉完成的項目,
      加上你發現的問題。
    - 未經詢問,不要動 migrations/、自動產生的檔案或公開 API。
  3. 不開互動介面也能執行

    claude -p 執行一個任務後就結束,所以 cron、CI 或其他工具都能啟動它。用 --allowedTools 或 --permission-mode 決定哪些事不必詢問就能做;--output-format json 會連同成本一起回傳結果。

    # 每天從 REFACTOR.md 的待辦清單做一步
    claude -p "做 REFACTOR.md 裡下一個還沒勾選的項目,並保持測試通過" \
      --allowedTools "Bash(npm test),Read,Edit"
  4. 排入排程

    用 /schedule 設成雲端排程任務(Pro、Max、Ultra、Team 和 Enterprise 方案)、設成桌面排程任務,或在工作階段開著時用 /loop。參見如何讓 Claude Code 主動工作。

來源:Claude Code 文件

限制與安全

  • 沒有測試,它就分不出重構和行為改變。先為那一塊補上測試。
  • 一次完成的大改寫很難審查。每一步都能合併的小步驟比較安全,最後也比較快。
  • 它不知道哪些怪異的程式碼是刻意寫的。在那些地方加註解,或寫進規則裡。
  • 自 Claude Code v2.1.302 起,claude -p 以 Manual 模式啟動:需要核准的動作,除非有規則允許,否則一律拒絕。只允許這項工作需要的工具。

重構,用 Claude Code 還是 Codex?

規則可以共用。在 AGENTS.md 寫一次,再把 @AGENTS.md 放進 CLAUDE.md,兩個 agent 就會讀同一份檔案。

另一個 agent 的逐步做法:Codex 重構。

Claude CodeCodex
規則檔CLAUDE.mdAGENTS.md
連接工具claude mcp addcodex mcp add 或 config.toml
你不在也能執行claude -pcodex exec
排程/schedule、桌面排程任務、/loopChatGPT App 的排程任務、cron
內建功能(重構)Plan mode、worktree、dynamic workflow、/simplify/plan、/goal、codex exec resume
使用 Crewmark

重構:讓它成為某個人的固定工作

指令只在有人記得時才會執行。Crewmark 把你自己的 Claude Code 變成 AI 員工,有職位、量化目標、工作時間和心跳,工作就會依排程完成,並出現在看板上。

  1. 從職位開始

    AI 軟體工程師:在職位說明裡寫上這些規則。

  2. 把工作放上它的看板

    把這項工作加成週期性 issue。員工依心跳醒來,做完後以評論回報。

  3. 相關內容

    程式碼審查會在每一步合併前檢查。

常見問題

Claude Code 擅長重構嗎?

擅長,前提是變更經過規劃和測試。從 plan mode 開始,在 CLAUDE.md 寫好測試指令,讓它以小步驟工作,每一步都是一個 pull request。

Claude Code 怎麼處理大型遷移?

請它建立 dynamic workflow:Claude 會寫一個腳本,把工作分給許多 subagent,你可以在 /workflows 裡追蹤。文件列出的 workflow 用途,正是大型遷移和程式碼庫稽核。

怎麼讓 Claude Code 的重構不碰我的工作副本?

用 claude --worktree <name> 啟動。工作階段會在自己的分支和資料夾裡工作,你滿意了再合併。

已於 2026 年 11 月 13 日對照 Claude Code 文件和 OpenAI 的 Codex 文件查核。

重構,交給 Claude Code 上的 AI 員工。

Crewmark 把 Claude Code 和 Codex 工作階段變成有職位、目標、工作時間和心跳的 AI 員工。