軟體構建學問中總有一些理論上很美好,但是一使用就面目全非的東西,比如傳統的瀑布模型。敏捷裡很多被稱之為思想的東西,恰恰沒有太高深的理論,但都是一些實踐的藝術,強調動手做而不是用理論論證。tdd就是這樣一種東西,單純去研究它的理論,分析它的優點和缺點沒有任何意義,因為它本身就是乙個很單純的東西,再對其抽象也得不出象「相對論」那樣深厚的理論。問題是你做了沒有?支援tdd的人有沒有從實踐中真正體會到了它的優點,對tdd不屑一顧的人是否通過實踐驗證了自己的看法,而不是簡單的人云亦云?
我第一次實踐tdd是在做「tms 配置資料轉換工具」時進行的,在那之前其實已經注意tdd的很長時間了,但是一直無從下手,感覺有很多「實際」問題沒有頭緒,比如「測試用例的粒度怎麼確定?」,「是否是乙個測試用例對應乙個測試函式?」,「函式還不存在怎麼呼叫,怎麼傳遞引數?」等等。在做的時候才發現,其實所謂的「實際」問題只有在做的過程中才變得真實(也就是真正的實際問題),真實的問題通過努力就可以解決,如果不去實踐,只能是越想越困惑。
總結在軟體構建過程中使用tdd的經驗,我的體會就是只有通過實踐才能真正了解tdd。對著很多理論空想只能使自己迷惘,迷惘的原因是知道自己不知道,卻不知道自己不知道什麼。只有在實踐中遇到問題,才知道自己不知道什麼,這是好事,因為對解決問題有了努力的方向。第一次實踐tdd可以從簡單開始,不一定要用xunit之類的測試框架,使用簡單的assert(斷言)函式就行了,也不需要太大的規模,對乙個函式tdd就夠了。所以,實踐tdd,就從你要完成的下乙個函式開始吧。
只有通過實踐才能真正了解TDD
軟體構建學問中總有一些理論上很美好,但是一使用就面目全非的東西,比如傳統的瀑布模型。敏捷裡很多被稱之為思想的東西,恰恰沒有太高深的理論,但都是一些實踐的藝術,強調動手做而不是用理論論證。tdd就是這樣一種東西,單純去研究它的理論,分析它的優點和缺點沒有任何意義,因為它本身就是乙個很單純的東西,再對其...
只有學習才能走得更遠
很多人都在比,有的在和自己比,有的再和別人比,可比來比去總覺得沒有乙個盡頭。在和自己比的時候,人們最喜歡用的一句話是 看看昨天的你和今天的你,只要有進步就是成功了。其實這句話是不對的,雖然你今天比昨天有了一些進步,但是你旁邊的人比你進步得更快,所以你還是落後。所以和自己比,是在安慰自己。在和別人比的...
360金融沈贇 只有適配實踐的技術才能實現價值掘金
金融科技應用的新場景 新需求層出不窮,已成為創新技術的理想 試驗田 然而當 創新 浪潮褪去,行業回歸審慎與冷靜後不難發現,並非所有創新技術都會深入金融土壤。對此,360金融首席資料科學家沈贇認為,只有適配實踐的技術才能實現價值掘金。據 中國商業銀行數位化轉型調查研究報告 顯示,參與調研的75 的銀行...