WORK STORY / 04
把大型單體元件拆成具有責任邊界的模組系統
情境
功能快速累積後,部分大型元件同時承擔畫面呈現、資料取得、狀態控制與流程邏輯。當 AI 或工程師繼續在同一個檔案追加功能時,一次修改容易跨越多種責任,測試困難,Code Review 也很難快速確認真正的影響範圍。
我的判斷與做法
我不以「檔案變小」為目標,而是重新劃分責任與依賴邊界:將 UI、流程協調、資料服務與純邏輯拆成獨立模組,建立 Module Layering 限制依賴方向;測試則跟著責任一起下沉,以 Co-located Tests 驗證各模組自己的行為,而不是只從巨大元件外部測整包結果。
形成的結果
原本集中在單一元件內的責任被拆成可獨立理解、修改與驗證的模組。功能變更可以先定位到對應責任層,測試邊界也與程式邊界一致,降低修改一個需求卻連帶碰觸整條功能鏈的風險。
留下的思考
大型元件真正的問題不是行數,而是太多責任共享同一個變更邊界。好的模組化不是把程式碼切碎,而是讓每次修改都能清楚回答:我正在改哪個責任,以及哪些地方不應該受到影響。