山也 DRY, 海也 DRY — 你也濫用 DRY 嗎?
覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!
大家學習如何寫好程式時,所接觸的第 1 個觀念應該都是 DRY(Don’t Repeat Yourself) 原則。做法上,我們會將重複的程式碼抽出,統整成共用的程式碼片段(可以是函式也可以是類別等)。
不過 “The DRY Principle is Bad Advice” 一文給我們一個不錯的反思!
濫用 DRY 原則可能造成高耦合(tight-coupling)的程式碼誕生,原因是隨著需求的演變,共用的程式碼片段也會跟著變更,最終導致一個又肥又長的共用程式碼片段,不僅可能閱讀性差、單元測試難以撰寫,在應付未來的新變更時也需小心翼翼。
因此,在應用 DRY 原則時應該慎思,思考這些重複的程式碼是未來也一成不變?還是它們在不遠的將來會有變化,導致它們最終不能共用邏輯?透過這些問題,就能夠知道如何處理這些重複的程式碼。