很久就成立了敏捷軟體開發團隊組織.
但是最近幾個月一直很忙,
沒有時間去更新我的blog
了, 瀏覽了一下團隊的一些文章,很多是關於理論的.我個人是個實用主義者,任何東西對於我來說都是要用的.當然理論也是必不可少的.
敏捷開發包括很多內容,所以我就不多說了.在這裡,我想分享一下我在開發中是如何做的.但是由於我是以乙個真實的專案做為基礎講解,所以我認為又很多內容要寫的,可能一下子寫不完,這樣只能分幾次寫了.基於這是做為乙個真實的專案,所以很多**不會貼出來,只在寫文章時貼出一些測試用例的**,這些**也是經過改編過的,請大家諒解.希望得到大家的支援和鼓勵.使我有更大的動力去寫完它.
在這些文章裡,力求做到以下:
1)盡量解釋tdd如何在真實的專案中去應用
2)盡量解釋tdd的好處
3)盡量做到tdd的實用性
4)介紹一些關於tdd的文章,書籍等.
就個人而言,我非常喜歡tdd,因為在我的開發中tdd起到了很大的作用.因為現在我使用.net寫程式,所以進行tdd的測試工具是nunit,關於nunit我在幾個月前寫了一篇隨筆nunit詳細使用方法,
有興趣的讀者可以去看看,希望您費點cpu和記憶體,給我指出不足和錯誤指出.在此謝過了.
拿我現在開發的乙個project為例吧.
專案名稱:計價系統
專案描述:當坐taxi時,假設起點是pickup,終點是dest.在期間可能存在幾個stop.計算總的**
1)那麼pickup
到dest
的**(
成為base rate)
如何計算?
一般來說,
這兩點之間的**在資料庫中都有值,
如果找得到話,
就是這個值,
如果找不到,
就按里程計算.
2)如果中間有幾個stop,
那麼又該如何計算.
這裡,涉及到是不是在乙個區,
是不是相鄰的區的等等.
是呀,演算法非常複雜,如果沒有stop,這個非常簡單,如果有1個站,怎麼算呢.假設乘車的順序為s1--s2--s3.這樣需要判斷s1和s2是不是相鄰(相鄰稱為touching)的,如果是,該怎麼計算,如果不是,又該怎麼計算,如果是在同乙個區,又如何計算呢,如果有乙個stop還好說,如果有2個,3個甚至更多,又該如何計算呢.
是的,我自己認為,寫**實現這個邏輯不是太難,難就難在你的**得出的結果是不是正確的.
好了廢話不說了.開始吧.
對於我現在來說
, 開始先寫測試
, 後寫**
.1system;
2using
nunit.framework;
3using
price.business;
4using
price.dataaccess;
//假設price為我實現的計算**的域
5namespace
stoppricingfixture617
18"without stop")]
19public
void
withoutstop()
2029
上面的**很簡單,先構造乙個計算**的類pricing,然後設定起點和終點,最後計算**,然後驗證.編譯,很明顯通不過,這是因為pricing類沒有定義.由於一些原因,這裡我就不寫出pricing類的**了,但是強調的是pricing類就是計算**的類.
什麼時候這個測試案例才算通過呢?只有在nunit的進度條為綠色時才算通過.
如果你還想對其他的位址進行測試,可以仿照這個方法進行.
在此總結一下:
為了進行在.net進行tdd開發,你需要注意:
1)了解關於nunit的用法
2)先寫測試,後寫**.當然對於不同的人可能不一樣,他們可能先寫**,後寫測試
3)這裡注意了,因為我上面的price類需要訪問資料庫,而且資料庫的連線字串放在config檔案裡面,所以你必須把這個檔案拷貝到測試類的bin目錄下,並且注意config檔案的檔名,必須以測試類的dll檔名一樣.比如,測試類的dll是pricetestfixture.dll,那麼config檔案的名稱為pricetestfixture.dll.config.
今天寫到這裡吧.本人從小語文就不好,如果有什麼建議和批評,儘管提.
附:推薦的書籍
<>
james w. newkirk and alexei a. vorontsov
microsoft press
基於thinkPHP專案的上線過程
第一步 在自己的伺服器上面新建乙個虛擬主機,並且去雲伺服器上面將其解析一下。第二步 將資料庫檔案上傳到線上的資料庫中去。第三步 去重寫nginx規則。將以下 寫到usr local nginx conf vhost 網域名稱.conf檔案中。在thinkphp開發手冊的459頁。location 然...
基於vue專案的知識總結
用vue有一段時間了,從用vue cli搭建專案 一步步配置axios vuex vue router,到之後的研究canvas 動效這些,一直想寫些東西記錄一下 做個總結,剛好趁著有空就整理一下。這裡先占個坑,列一下大綱,具體某一方面的總結會單獨寫文章,放鏈結在本文中,之後會不定期更新來填坑。手機...
真實分享我發現暴利賺錢專案的方法
在現在的行業裡,也基本不存在沒人做過的專案,我找專案從來不是去找那些別人沒做過的,而是一直去找那些別人正在做但蛋糕還夠大的專案。我被問的最多的乙個問題,就是你有什麼賺錢的專案嗎,這句話我聽的耳朵都起繭子了,所以今天我就來分享下我找專案的方法。我在分享方法之前,先明確乙個觀點,就是能讓你賺錢的專案,往...