最近看到一些bloggers在質疑tdd存在的價值,認為只是理論上先進而不能實際應用,我可以直接了當的告訴這些質疑者,是你們的技術能力不行,導致不能實際把tdd應用起來!
以下是我收集到的一些普遍質疑tdd的說法:
tdd只在輸入輸出確定的條件下才可以有效地應用。
我們的專案依賴於外界軟硬體,比如資料庫,第三方的web伺服器,這些我們都不能控制,怎麼tdd啊?
我們的業務邏輯很複雜,沒時間tdd,再說tdd會讓原本的複雜度增加,還會浪費掉很多時間,不能tdd。
我們有專職的qa人員,讓我來做測試,讓他們做什麼?又不多給我錢,為什麼要我做,不做!
以上不是所有的質疑,還有很多很多。這些歸根結底都是因為不了解tdd真正的精髓而造成的誤解。可以這樣比喻,這就好像不同文化之間的人都不願意去
了解對方的文化一樣,總是以嘲笑或朝拜的態度去對待。xp之所以不能普遍在中國流行,就是因為這樣的一句話:「我已經好不容易對重量級的軟體過程論有了還
算深入的了解,現在又讓我去了解什麼完全風馬牛不相及的輕量級過程論,簡直胡鬧一樣,我覺得rup如果實踐的好的話完全可以勝任任何軟體研發!」簡單地
說,這位仁兄歸根結底還是「懶得」去學,沒有任何深入了解就倉促定論,而且還大肆傳播「謠言」。類似的話在任何技術領域都存在著,tdd也不例外,有一些
人是忠實的tdd維護者,以身作則,為能夠實現tdd開發出了許多新理論與工具(見kent beck, eric gamma,
junit),這些忠實維護者曾經report過採用tdd相對傳統模式得出的極低的bug數;另外一些人則是冷嘲熱諷者,想盡一切可能來辯說tdd在某
某情況下是絕對不可行的,但又沒說出有什麼好的其他方法,只是簡單的把事情給忽略掉了,其用意就是針對tdd。我覺得前者是positive
& constructive,這樣的人能夠真正帶來業界的革命,而後者則是negative &
destructive,不能夠給任何人帶來任何好處而相反會帶來消極與衰落。
所以我決定攜手其他志同道合者為tdd與敏捷開發辯解,陸續的我會給大家講解如何分清與排除阻撓tdd的一些問題(或非問題)。如果你是一名tdd愛好者並以身作則的話請支援我,與我一同辯解!^_^
為什麼要做TDD?
tdd 測試驅動開發 在企業裡面是乙個熱點話題,即使tdd這個思想已經出現了20 30年。至今還有很多的公司和開發者在左右搖擺,到底是否要使用tdd。所以這篇文章筆者就和大家分享一下,為什麼需要做tdd。首先看看各個公司對tdd的看法 google 如果在tdd階段發現乙個bug,修復的成本就是5美...
TP5變數修飾符,不能接受到陣列
變數修飾符 input函式支援對變數使用修飾符功能,可以更好的過濾變數。用法如下 input 變數型別.變數名 修飾符 或者request instance 變數型別 變數名 修飾符 例如 input get.id d input post.name s input post.ids a reque...
Z時代的員工,到底能不能接受996的生活?
宣告 於微信 秋葉大叔作者 秋葉大叔,授權程式設計客棧 發布。前幾天,在我們個人品牌ip營,有一位老師說,他覺得現在員工朝九晚六,不行的,這樣老闆真的為員工打工了,尤其是做成年人培訓的都是晚上成交,根本不可能朝九晚六。他在公司群說公司要實行996,銷售當天沒有開單,9點不能走。結果第二天,直接有3個...