《测试驱动的嵌入式C语言开发》——1.5节TDD的好处-阿里云开发者社区

开发者社区> 华章计算机> 正文

《测试驱动的嵌入式C语言开发》——1.5节TDD的好处

简介: 本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第1章,第1.5节TDD的好处,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
+关注继续查看

1.5 TDD的好处
正如很多其他技巧,如打桌球或者高山滑雪一样,TDD也要花相当长的时间来练习。许多开发者已经接受了这种技术,而且再也不想回到从前“后期调试式编程”的方式去了。这里罗列出一些TDD实践者所描述的好处:
产生的bug更少

  • 无论小的还是大到可以在现场产生灾难性结果的逻辑错误,TDD都能在开发时快速发现。缺陷就这样避免了。
    调试时间更短
  • 更少的bug自然意味着更短的调试时间,就是这么简单。
    边际效应所带来的bug更少
  • 测试会绑定假定、约束并给出使用范例。当新代码违反了这些假定或约束,测试给出警告。
    单元测试是“不会说谎的文档”
  • 精心构建的测试可以成为可执行且无歧义的文档。千言万语也没有一个可工作的示例能说明问题。
    内心的平静
  • 彻底、全面的回归测试给予我们信心。TDD开发者据称晚上睡得更香,且周末更少被打扰。
    改善设计
  • 好的设计一定是可测试的设计。长函数、紧耦合以及复杂的条件判断,这些都会导致复杂且难测试的代码。如果开发者发现对计划中的代码改动很难编写测试,那就说明设计有问题,TDD会在早期给出提示。TDD是监视代码变坏的雷达。
    对进度的监控
  • 测试跟踪记录了到底现在哪些部分已经可以工作了,以及已经完成了多少工作。它对于“完成”给出了新的估计方法和定义。
    有趣且回报丰厚
  • TDD不断地给开发者以成就感。你每写一点代码都会完成一些工作,同时你能很清楚它们是正确的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
认识反射机制|学习笔记
快速学习 认识反射机制
3 0
字符编码(常用字符编码)|学习笔记
快速学习 字符编码(常用字符编码)
4 0
网络编程(基本网络程序模型)|学习笔记
快速学习 网络编程(基本网络程序模型)
3 0
批处理与事务处理(事务处理)|学习笔记
快速学习 批处理与事务处理(事务处理)
3 0
给数据表添加或者删除列|学习笔记
快速学习给数据表添加或者删除列
3 0
更新表数据|学习笔记
快速学习更新表数据
4 0
内存操作流(内存流基本操作)|学习笔记
快速学习 内存操作流(内存流基本操作)
3 0
使用limit截取查询结果|学习笔记
快速学习使用limit截取查询结果
4 0
微服务划分的模式与反模式(下)
微服务划分的模式与反模式(下)
3 0
枚举(枚举中定义其它结构)|学习笔记
快速学习 枚举(枚举中定义其它结构)
3 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载