[隨筆] TDD 的哲學之道

TDD 是一種限制的美學。

  • 因為限制,所以美
  • 因為限制,所以快
  • 因為限制,所以聚焦
  • 因為限制,所以好懂
  • 因為限制,所以你知道自己正在哪裡,並朝向哪裡而去。

在開發軟體時,「限制」才能發揮最大戰力。

「限制是一種方法,是一種引導,是一種跟自己內心的對話。」

是,我就是在講 TDD 的「哲學」、TDD 的「道」。

Developer 是全世界腦袋動最快的角色之一,一旦沒有讓想法收斂、聚焦,他們狂放不羈的想法就會暴露在程式碼中。這並不是信手捻來落葉飄花都可為劍的境界,而是開發人員的「劣根性」。一旦閱讀他的 code 的人無法跟他一樣的思路和想法(事實上沒有人可以想得跟其他人一樣),他就無法讀懂前人的思路或脈絡。

白話一點就是:「他X的這在寫什麼鬼,亂七八糟的。」 

原因並不是他「寫的程式」命名不好懂,而是在寫的時候,「他的想法」沒有聚焦、亂跳、甚至不知道自己正在幹嘛,而這些凌亂的想法是會寄托在程式碼的靈魂上的。 

你,在寫程式時,知道自己正在幹嘛嗎?能忍住自己心裡的誘惑,一次只做一件事,只做剛好的事嗎?

「限制,是一種美,是一種藝術,是一門學問。」

最大的浪費與愚蠢,莫過於花了大把時間把用不到的功能寫到完美。 

當開著一台世界上跑最快的F1賽車,但上面既沒方向盤,也沒有煞車,它的快速,只會是個災難。


或許您會對下列培訓課程感興趣:

  1. 2019/12/21(六)~2019/12/22(日):演化式設計:測試驅動開發與持續重構 第七梯次(台北)
  2. 2020/1/4(六)~2020/1/5(日):Clean Coder:DI 與 AOP 進階實戰 第三梯次(台北)
  3. 2020/02/08(六):【針對遺留代碼加入單元測試的藝術】 第八梯次(台北)
  4. 2020/02/09(日):【極速開發+】 第九梯次(台北)
  5. 2020/02/28(五)~2020/3/1(日) C#進階設計-從重構學會高易用性與高彈性API設計 第三梯次(台北)

想收到第一手公開培訓課程資訊,或想詢問企業內訓、顧問、教練、諮詢服務的,請洽 Facebook 粉絲專頁:91敏捷開發之路