複雜性不是某次災難性失誤造成的,而是在許多微小片段中緩慢累積

累積過程#

  • 單一個依賴或單一個模糊,幾乎不會明顯影響系統的可維護性
  • 但成百上千個小依賴與小模糊堆疊起來後,幾乎每一次的改動都會撞上好幾個

為什麼難以控制#

逐步累積的本質讓複雜性特別棘手:

  • 每次修改時,很容易說服自己這次只多加一點點複雜性沒什麼大不了
  • 但若每位開發者每次修改都這樣想,整體複雜性就會迅速膨脹
  • 累積到一定程度後再想消除幾乎是不可能的——因為修掉任何單一依賴或模糊,幾乎不會有顯著差別

應對方式#

必須採取「零容忍(zero tolerance)」的態度。

不能因為「這次只是一點點」就放行;唯有對每一次變更都堅持簡潔,才能阻止複雜性的累積。第 3 章會詳細說明這種策略性思維。