[隨筆] 開發人員對 TDD 的心魔

為啥開發人員都覺得 TDD 好,卻又覺得在實務上有些彆扭,也有很多說法把它講得有些不切實際、太理想化呢?

你以為它是測試,但其實在它的本質上,同時兼具了「Specification」與「Test」兩種維度的身份。

隨筆記錄下來想法,這個「測試驅動開發」的「測試」,可能跟你想得不一樣。

...繼續閱讀 »

[Comments] 測試覆蓋率與 TDD 的正確心態

許多公司往往為了 KPI 需要數字,所以將測試覆蓋率訂了個 criteria 來「強暴」開發團隊,甚至要求團隊「一定」要用 TDD 來開發所有程式。

這一切都是不求甚解的為了潮、為了追求數字的迷思,本篇文章將補上我對於「測試覆蓋率」與「看待 TDD 的正確角度」的見解。

...繼續閱讀 »

[隨筆] TDD 是一種修煉過程

學會 TDD?用 TDD?落實 TDD?到底什麼時候該用 TDD 呢?

TDD 其實是一種修煉的過程,讓你可以在每一次寫程式的過程,都逐步在累積功力,就像金庸的射雕英雄傳中,馬鈺教郭靖修煉內功的方式,無外乎就是一些呼吸、走路、睡覺的法子。

...繼續閱讀 »

[隨筆] 你的程式碼活著嗎?

什麼是 legacy code? 沒有自動測試保護的就是 legacy code 。

-Michael Feathers, 《Working Effectively with Legacy Code

講直白一點,legacy code 就是沒爹沒娘沒靠山,被人射後不理的產物。

誰都可能欺負它、弄壞它,簡直就是一直像死了般卻仍在線上活著的產品程式碼。

...繼續閱讀 »

[隨筆] TDD 的哲學之道

TDD 是一種限制的美學。

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