深度解读 - 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