重構: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
連接工具
不需要連接任何東西。讓重構安全的是 Claude 能執行的測試指令,以及每一步的大小上限,所以把兩者都寫進 CLAUDE.md,並從 worktree 開始。
# 在獨立的 worktree 裡開始重構 claude --worktree billing-async # 任何修改之前,先對計畫取得共識 /plan Move the billing module from callbacks to async/await把規則寫進 CLAUDE.md
Claude Code 在每個工作階段開始時都會讀取 CLAUDE.md,
claude -p的執行也一樣。把這項工作的規則寫在那裡;規則很長的話,放進.claude/skills/下的 skill。參見 CLAUDE.md 指南。## 重構規則 - 不改變行為。如果必須修改測試,先停下來問。 - 開始前和每一步之後都執行 `npm test`。 - 每個 pull request 只做一步,變更不超過 400 行。 - 隨時更新 REFACTOR.md:勾掉完成的項目, 加上你發現的問題。 - 未經詢問,不要動 migrations/、自動產生的檔案或公開 API。不開互動介面也能執行
claude -p執行一個任務後就結束,所以 cron、CI 或其他工具都能啟動它。用--allowedTools或--permission-mode決定哪些事不必詢問就能做;--output-format json會連同成本一起回傳結果。# 每天從 REFACTOR.md 的待辦清單做一步 claude -p "做 REFACTOR.md 裡下一個還沒勾選的項目,並保持測試通過" \ --allowedTools "Bash(npm test),Read,Edit"排入排程
用
/schedule設成雲端排程任務(Pro、Max、Ultra、Team 和 Enterprise 方案)、設成桌面排程任務,或在工作階段開著時用/loop。參見如何讓 Claude Code 主動工作。
限制與安全
- 沒有測試,它就分不出重構和行為改變。先為那一塊補上測試。
- 一次完成的大改寫很難審查。每一步都能合併的小步驟比較安全,最後也比較快。
- 它不知道哪些怪異的程式碼是刻意寫的。在那些地方加註解,或寫進規則裡。
- 自 Claude Code v2.1.302 起,
claude -p以 Manual 模式啟動:需要核准的動作,除非有規則允許,否則一律拒絕。只允許這項工作需要的工具。
重構,用 Claude Code 還是 Codex?
規則可以共用。在 AGENTS.md 寫一次,再把 @AGENTS.md 放進 CLAUDE.md,兩個 agent 就會讀同一份檔案。
另一個 agent 的逐步做法:Codex 重構。
| Claude Code | Codex | |
|---|---|---|
| 規則檔 | CLAUDE.md | AGENTS.md |
| 連接工具 | claude mcp add | codex mcp add 或 config.toml |
| 你不在也能執行 | claude -p | codex exec |
| 排程 | /schedule、桌面排程任務、/loop | ChatGPT App 的排程任務、cron |
| 內建功能(重構) | Plan mode、worktree、dynamic workflow、/simplify | /plan、/goal、codex exec resume |
重構:讓它成為某個人的固定工作
指令只在有人記得時才會執行。Crewmark 把你自己的 Claude Code 變成 AI 員工,有職位、量化目標、工作時間和心跳,工作就會依排程完成,並出現在看板上。
常見問題
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 文件查核。