
156
| 第十六章:保持簡單
充分簡單
簡單度與
充分度
是好朋友。這在幾個方向可看出:
y
你應該採用最簡單的工作方式,並編寫最簡單的程式。但讓它充分簡單。如果你過
度簡單,你將無法解決實際的問題。我們的“簡單”解決方案
必須
“充分”,否則
它們就不是解決方案。
y
只編寫足夠解決問題的程式。不要編寫大量你
認為
將會用得到的程式。不會被用
到的程式只是包袱。它是額外的負擔。那是你不需要的複雜度。編寫足夠數量的程
式。你寫的程式愈少,你製造的 bug 也會愈少。
y
不要將解決方案複雜化,激動的開發人員會認為這是非常真實的誘惑。只要解決手
頭的問題,不要為了一堆不相干的問題,發明不需要的通用解決方案。一直工作,
直到充分性達到燦爛的地步。
重點
只編寫需要的程式。任何多出來的部分,都只是造成負擔的複雜度。
簡單的結論
我們都知道完美的簡單程式比沒必要的複雜程式還要好。而且我們都看過骯髒的、醜陋
的、複雜的程式。很少有人想要寫這種程式。前往複雜度的道路上,通常遍布匆忙的改
變與打滑的標準。只要有一個鬆懈的修改、只要有一個狗皮藥膏修補、只要有一次程式
檢查被跳過、只要有一次“我沒有時間重構”,這些原因夠多的話,程式就會變成一團
亂,你會很難讓它恢復理智。[Page-150]
可悲的是,簡單化很難做到。
簡單化是由許多受歡迎的開發人員格言產生的標語布條:YAGNI:
you aren't going to
need it
說的是充分性。DRY:
don't repeat yourself
說的是程式大小。說到設計的簡單
性,我們偏好高內聚與低耦合的做法。 ...