TDD 是一種限制的美學。
- 因為限制,所以美
- 因為限制,所以快
- 因為限制,所以聚焦
- 因為限制,所以好懂
- 因為限制,所以你知道自己正在哪裡,並朝向哪裡而去。
在開發軟體時,「限制」才能發揮最大戰力。
「限制是一種方法,是一種引導,是一種跟自己內心的對話。」
是,我就是在講 TDD 的「哲學」、TDD 的「道」。
Developer 是全世界腦袋動最快的角色之一,一旦沒有讓想法收斂、聚焦,他們狂放不羈的想法就會暴露在程式碼中。這並不是信手捻來落葉飄花都可為劍的境界,而是開發人員的「劣根性」。一旦閱讀他的 code 的人無法跟他一樣的思路和想法(事實上沒有人可以想得跟其他人一樣),他就無法讀懂前人的思路或脈絡。
白話一點就是:「他X的這在寫什麼鬼,亂七八糟的。」
原因並不是他「寫的程式」命名不好懂,而是在寫的時候,「他的想法」沒有聚焦、亂跳、甚至不知道自己正在幹嘛,而這些凌亂的想法是會寄托在程式碼的靈魂上的。
你,在寫程式時,知道自己正在幹嘛嗎?能忍住自己心裡的誘惑,一次只做一件事,只做剛好的事嗎?
「限制,是一種美,是一種藝術,是一門學問。」
最大的浪費與愚蠢,莫過於花了大把時間把用不到的功能寫到完美。
當開著一台世界上跑最快的F1賽車,但上面既沒方向盤,也沒有煞車,它的快速,只會是個災難。
blog 與課程更新內容,請前往新站位置:http://tdd.best/