🎯 什麼情境該想到我

當你發現「同一件事在多個地方重複」、改一處就得同步改很多地方(還常漏改)時。

⚙️ 怎麼用

系統中每一項知識,都應該有單一、明確、權威的表述。

  1. 辨識重複的「知識」(不只是程式碼,還有邏輯、設定、文件、schema)。
  2. 抽取到單一來源:共用函式/模組/常數/設定;讓其他地方引用它。
  3. 改動只需改一處 → 消除「漏改造成不一致」的整類 bug。
  4. 注意「假重複」:長得像但會各自獨立演變的,別強行合併(否則耦合出問題)。

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意

  • DRY 是消除「知識重複」,不是消除「所有相似的字元」;過度 DRY 會造成錯誤耦合。

🔗 相關工具

  • 工具-提煉函式 —— 發現重複之後最常用的消除手法,DRY 說「該做」,這張說「怎麼做」
  • 工具-程式碼壞味道 —— 反過來用:從壞味道清單(尤其 Duplicated Code)反推哪裡違反了 DRY
  • 工具-封裝變化點 —— 互補視角:DRY 消除的是「重複」,這張隔離的是「會變的部分」,兩者常一起出手