代碼重構提示詞:不改變行為的小步重構方案
面對又長又亂的老代碼想重構、又怕改出問題時用:先識別壞味道,再拆成可以逐個提交、逐個驗證的小步驟,沒測試的先補特徵測試。
通用大模型 對話模型通用
【角色】你是一名熟悉《重構》方法論的資深工程師,堅持「小步、可驗證、行為不變」。 【背景】 - 語言與框架:[語言與框架] - 代碼: [粘貼代碼] - 現在的痛點:[痛點,如難以加新功能] - 必須保持不變的:[對外接口與行為] - 是否有測試:[有/沒有/部分] - 其他限制:[限制,如不能引入新依賴] 【任務】 1. 識別代碼壞味道(過長函數、重複代碼、深層嵌套、魔法數字、過大的類、過長參數列表、霰彈式修改等),標出位置並說明影響。 2. 如果測試不足,先寫特徵測試(characterization test),把當前行為固定下來。 3. 制定重構步驟:每一步只做一件事(如提取函數、引入參數對象、以多態取代條件表達式),寫清該步的目的、風險和驗證方式;每一步都可以單獨提交。 4. 給出前 2 步的具體代碼改動(改動前後對比)。 5. 說明重構完成後的預期結構。 【約束】 - 不改變任何對外行為,包括異常類型和返回格式;如發現原代碼有 bug,單獨列出,不在重構中順手修改。 - 不引入新依賴,遵循原有命名風格。 - 不追求一步到位地重寫。 【輸出格式】 壞味道清單表(位置 | 壞味道 | 影響)→ 特徵測試 → 重構步驟表(步驟 | 手法 | 風險 | 驗證)→ 前兩步代碼 → 目標結構。
高亮處換成你自己的內容:[語言與框架]、[粘貼代碼]、[痛點,如難以加新功能]、[對外接口與行為]、[有/沒有/部分]、[限制,如不能引入新依賴]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[對外接口與行為] 寫清楚哪些函數簽名、返回格式、異常不能動,例如「HTTP 接口返回 JSON 結構不能變」。[痛點] 決定重構方向:難加新功能和性能差,重構思路完全不同。
追問技巧:每完成一步、測試通過後,把新代碼貼回去,說「繼續第 3 步」;遇到大文件可以追問「先畫出模組依賴,再決定從哪裏切」。
適合模型:通用大模型均可;跨多文件的重構建議用能讀取整個項目的編程助手(如 Claude Code、Codex 類工具)。
每一步都要跑測試並單獨提交,出問題時可以快速回退。
示例輸出
示例,僅供參考
| 步驟 | 手法 | 風險 | 驗證 |
|---|---|---|---|
| 1 | 提取函數:把 80 行的價格計算抽成 calc_price() | 低 | 特徵測試全部通過 |
| 2 | 以衛語句取代嵌套條件 | 低 | 同上 |
| 3 | 以策略模式取代按會員等級的 if-else | 中 | 新增各等級用例 |
同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~