在之前的實踐中,主要說的是TDD過程如何影響對功能的設計,在這一篇,會開始實現組合和排列的算法,進而討論一下,TDD是如何的影響對實際功能代碼塊的影響的。 這里不再列舉之前的設計相關的列表,轉而專注於算法的實現,希望大家在這里先不要糾結於算法效率,畢竟這里只是對TDD進行討論,而不是算法專題 ...
上一篇我們編寫了第一個測試代碼,我們再來看一下我們的 US, 測試備注 和 設計 US:我希望可以給定一個包含m元素對象的集合,給定我想從中選出的元素個數n,從中找出所有滿足條件的元素組合列表 無序 C n,m 或 排列列表 有序 P n,m 設計 我需要創建一個類庫,暫且命名為:MathLibrary 類庫內包含ComposerSelector lt T gt 和PermutationSelec ...
2012-06-06 18:18 4 2141 推薦指數:
在之前的實踐中,主要說的是TDD過程如何影響對功能的設計,在這一篇,會開始實現組合和排列的算法,進而討論一下,TDD是如何的影響對實際功能代碼塊的影響的。 這里不再列舉之前的設計相關的列表,轉而專注於算法的實現,希望大家在這里先不要糾結於算法效率,畢竟這里只是對TDD進行討論,而不是算法專題 ...
最近一直在關注敏捷開發的工程實踐和技術實踐,一直想自己親身體會一下TDD的威力,總是因為這樣那樣的原因而一再拖延。 這兩天正好有個朋友問我Project euler里面49題的解法,我動手編程時候發現自己的基礎運算的庫存在以前筆記本上,本子被老婆帶走用了。所以,我需要在現在的電腦上重新編寫求 ...
面向對象設計(OOD)有助於我們開發出高性能、易擴展以及易復用的程序。其中,OOD有一個重要的思想那就是依賴倒置原則(DIP)。 依賴倒置原則(DIP):一種軟件架構設計的原則(抽象概念) 控制反 ...
寫在前面: 我的TDD實踐這幾篇文章主要是圍繞測試驅動開發所展開的,其中涵蓋了一小部分測試理論,更多的則是關注工具的使用及環境的搭建,做到簡單實踐先行,后理論專精的目的。 TDD實踐系列文章: 1.TDD概念篇 2.CI持續集成 3.SVN架設篇 ...
社區化產品的長久生存之道可能莫過於對迭代周期的控制。還記得以前采用老土的階段開發的年代,將軟件生命周期分為各個階段,當到達每個階段的里程碑則集中所有的資源、人力作全面沖刺。每次到了里程碑的檢查點沖過了 ...
寫在前面: 我的TDD實踐這幾篇文章主要是圍繞測試驅動開發所展開的,其中涵蓋了一小部分測試理論,更多的則是關注工具的使用及環境的搭建,做到簡單實踐先行,后理論專精的目的。 TDD實踐系列文章: 1.TDD概念篇 2.CI持續集成 3.SVN架設 ...
老實說如果現在用的是C#、JAVA、PHP等,且沒用過C/C++不太建議轉C/C++,但非常建議多看看底層的知識,C#做了幾年之后發現也就是那點東西,不深入學習,很多東西其實是只會用,根本不知道到底是怎么回事。我相信很多C#程序員不知道多態到底是怎么實現;方法到底是怎么被調用的;不 知道 ...
的方式下搭建的工程化框架和業務最佳實踐的架子。組內有個小伙伴參加了所在城市在三月底舉行前端開發者大會,回來 ...