[隨筆] TDD 的哲學之道

TDD 是一種限制的美學。

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

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

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

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

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

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

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

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

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

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

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

對敏捷開發有興趣的朋友,可以參考我的粉絲專頁:91敏捷開發之路

若需要聯絡我,可以透過粉絲專頁私訊或是側欄的關於我。