[隨筆] TDD 的哲學之道

TDD 是一種限制的美學。

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

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

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

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

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

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

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

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

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

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

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


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

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

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