2010-07-31 44 views
8

The Pragmatic Programmer很多人都很喜歡recommended。我剛讀完它,我可以明白爲什麼人們會推薦它,但我會指出,「代碼完整版」涵蓋了幾乎所有相同的材料。The Pragmatic Programmer的作者忘記了YAGNI嗎?

但是,有一件事給我帶來了困擾,就是作者從來沒有提到靈活性的任何缺點,概括和爲未來發展留下空間。這些概念都非常好,但是YAGNI(你不會需要它)的原理髮生了什麼事情,它可以防止開發人員浪費時間實現永遠不會被使用的靈活性?

對SO的搜索揭示了關於YAGNI的400個問題,所以我懷疑作者對這個概念過於模糊。當然,我的經歷遠沒有他們那麼有經驗,爲什麼他們在整本書中沒有提到任何限制?

謝謝。

+2

你真的不得不去問他們,但我猜想是因爲說YAGNI不賣書。 – Oded 2010-07-31 16:27:05

回答

2

他們並沒有要求它YAGNI,但有11頁的關鍵字,它至少具有相同的焦點:

知道什麼時候停止!

+2

雖然我不認爲這是真的。知道何時停止處理代碼與知道何時不設計系統過度靈活性不同。也許我對YAGNI的內容感到困惑。 – Dijkstra 2010-07-31 16:53:42

+0

我只能猜測亨特和托馬斯在寫這段經文時腦子裏是否有「YAGNI」,但我有強烈的感覺,他們的意圖是在同一個方向。 – 2010-07-31 21:54:27

0

他們沒有忘記。我認爲這本書剛剛早於YAGNI而聞名於世。

0

[YAGNI]防止開發商浪費他們的時間實施 靈活性,永遠不會被使用

實現靈活性並不一定需要更多的時間。根據我的經驗,它可以()成爲自然編程風格的一部分。不靈活的恕我直言的代碼通常是由於糟糕的編程習慣。