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

    發表于:2017-03-31來源:jianshu作者:SeabornLee點擊數: 標簽:tdd
    這些方法寫單元測試了呢? 當然可以, 它們的輸入和輸出都是很明確的嘛。 等等,你可能會說,不是測試驅動設計嗎?你怎么開始做設計了?好問題!
     這些方法寫單元測試了呢?
    當然可以, 它們的輸入和輸出都是很明確的嘛。

    等等,你可能會說,不是測試驅動設計嗎?你怎么開始做設計了?好問題!

    TDD 要不要做提前設計呢?


    Kent Beck 不做提前設計,他會選一個最簡單的用例,直接開寫,用最簡單的代碼通過測試。逐漸增加測試,讓代碼變復雜,用重構來驅動出設計。
    在這個需求里,最簡單的場景是什么呢?
    那就是文件內容為空,輸出也為空。

    當然,對于復雜問題,可能要一邊寫一邊補充新的用例,但對于這種簡單的題目,基本可以提前就想清楚用什么用例驅動去什么產品代碼。
    大概可以想到如下的用例:

    • "" => ""
    • "he" => "he 1",一個單詞,驅動出格式化字符串的代碼
    • "he is" => "he 1\r\nis 1",兩個不同單詞,驅動出分割單詞的代碼
    • "he he is" => "he 2\r\nis 1",有相同單詞,驅動出分組代碼
    • "he is is" => "is 2\r\nhe 1",驅動出分組后的排序代碼
    • "he is" => "he 1\r\nis 1",多個空格,完善分割單詞的代碼

    Martin Fowler 的觀點是,以前我們寫代碼要做 Big Front Up Design

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