深度解讀 - TDD(測試驅動開發)(6)

發表于:2017-03-31來源:jianshu作者:SeabornLee點擊數: 標簽:tdd
the 4 is 3 sunny 2 day 1 請先不要往下讀,思考一下你會怎么做。 (思考 3 分鐘...) 新手拿到這樣的需求呢,就會把所有代碼寫到一個 main() 方法里,偽代碼如

the 4
is 3
sunny 2
day 1


請先不要往下讀,思考一下你會怎么做。
(思考 3 分鐘...)

新手拿到這樣的需求呢,就會把所有代碼寫到一個 main() 方法里,偽代碼如下:

main() {
    // 讀取文件
    ...
    // 分隔單詞
    ...
    // 分組
    ...
    // 倒序排序
    ...
    // 拼接字符串
    ...
    // 打印
    ...
}

思路很清晰,但往往一口氣寫完,最后運行起來,輸出卻不符合預期,然后就開始打斷點調試。

這種代碼沒有任何的封裝。這就是為什么很多人一聽到說有些公司限制一個方法不超過 10 行,就立馬跳出來說,這不可能,10 行能干什么啊,我們的業務邏輯很復雜...
這樣的代碼存在什么樣的問題呢?

  • 不可測試
  • 不可重用
  • 難以定位問題

好嘛,那我們來 TDD 嘛,你說讀文件,輸出控制臺的測試代碼要怎么寫?

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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97