the 4
is 3
sunny 2
day 1
請先不要往下讀,思考一下你會怎么做。
(思考 3 分鐘...)
新手拿到這樣的需求呢,就會把所有代碼寫到一個 main() 方法里,偽代碼如下:
main() {
// 讀取文件
...
// 分隔單詞
...
// 分組
...
// 倒序排序
...
// 拼接字符串
...
// 打印
...
}
思路很清晰,但往往一口氣寫完,最后運行起來,輸出卻不符合預期,然后就開始打斷點調試。
這種代碼沒有任何的封裝。這就是為什么很多人一聽到說有些公司限制一個方法不超過 10 行,就立馬跳出來說,這不可能,10 行能干什么啊,我們的業務邏輯很復雜...
這樣的代碼存在什么樣的問題呢?
好嘛,那我們來 TDD 嘛,你說讀文件,輸出控制臺的測試代碼要怎么寫?
原文轉自:http://www.jianshu.com/p/62f16cd4fef3