• <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(測試驅動開發)(7)

    發表于:2017-03-31來源:jianshu作者:SeabornLee點擊數: 標簽:tdd
    當然,我們可以通過 Mock 和 Stub 來隔離 IO,但真的有必要嗎? 有人問過 Kent Beck 這樣一個問題: 你真的什么都會測嗎?連 getter 和 setter 也會測試嗎? Ke

    當然,我們可以通過 Mock 和 Stub 來隔離 IO,但真的有必要嗎?

    有人問過 Kent Beck 這樣一個問題:

    你真的什么都會測嗎?連 getter 和 setter 也會測試嗎?

    Kent Beck 說:公司請我來是為了實現業務價值,而不是寫測試代碼。
    所以我只在沒有信心的地方寫測試代碼。

    那對我們這個程序而言,讀文件和打印到控制臺都是調用系統 API,可以很有信心吧。最沒有信心的是中間那寫要自己寫的業務邏輯。
    所以我們可以對程序做一些封裝,《代碼整潔之道》里說,有注釋的地方都可以抽取方法,用方法名來代替注釋:

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

    這樣是不是就可以單獨為 split,group,sort,format

    原文轉自: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>