第1章 刻舟求剑的文档 1
第2章 按图索骥地编写代码 7
第3章 写main()方法测试一下 17
第4章 调试一下 24
第5章 用TDD重做编程操练题目 33
第6章 消除假数据所带来的重复代码 40
第7章 让下一个测试足够有意思 46
第8章 嗅出代码“腐臭”和新的测试点 55
第9章 测试后行vs测试先行 64
第10章 何谓“烂代码” 68
第11章 记录所闻到的“腐臭” 75
第12章 用测试描绘用户意图 89
第13章 分而治之——釜底抽薪 105
第14章 分而治之——抛砖引玉 118
第15章 打扫战场 134
第16章 分而测之——编写Stub及提取接口 169
第17章 分而测之——编写Mock及子类化并覆写方法 191
第18章 真正的单元测试 217
第19章 驯服烂代码的步骤:IePpTr 232
第20章 习惯出自专注、长期和用心的结对操练 238
附录A 编程操练简介 244
附录B 怎样在Windows系统中搭建编程操练环境 246
附录C 怎样在OS X系统中搭建编程操练环境 251
附录D 怎样在Linux系统中搭建编程操练环境 256