• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 深度解讀 - TDD(測試驅動開發)(9)

    發表于:2017-03-31來源:jianshu作者:SeabornLee點擊數: 標簽:tdd
    ,在開始寫代碼前要設計好所有細節。 而我們有了重構這個工具后,做設計的壓力小了很多,因為有測試代碼保護,我們可以隨時重構實現了。但這并不
    ,在開始寫代碼前要設計好所有細節。
    而我們有了重構這個工具后,做設計的壓力小了很多,因為有測試代碼保護,我們可以隨時重構實現了。但這并不代表我們不需要做提前設計了,提前設計可以讓我們可以和他人討論,可以先迭代幾次再開始寫代碼,在紙上迭代總比改代碼要快。
    我個人比較認同 Martin Fowler 的做法,先在腦子里(當然,我腦子不夠用,所以用紙畫)做設計,迭代幾次之后再開始寫,這樣,我還是會用最簡單的實現通過測試,但重構時就有了方向,效率更高。

    回到這個程序,我發現目前的封裝不在一個抽象層次上,更理想的設計是:


    分解任務
    main() {
        String words = read_file('words.txt')
        String output = word_frequency(words)
        print(output)
    }
    
    word_frequency(words) {
        String[] wordArray = split(words)
        Map<String, Integer> frequency = group(wordArray)
        sort(frequency) 
    
    
    
               

    原文轉自:http://www.jianshu.com/p/62f16cd4fef3

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>