《测试驱动开发》的读书笔记

栏目: 编程工具 · 发布时间: 5年前

内容简介:熟悉《设计模式》的基本概念,熟悉《重构》的基本概念,熟悉基本的Java语法,熟悉Eclipse和JUnit的使用,有相对较好的英语基础。编写正确的代码。代码很简单,不需要再提供,反而最重要的是自己一定要手工跟一遍,否则无法领会作者的意图。至少,我在豆瓣上看了几个评论,大部分都是看懂了,没感觉。

《测试驱动开发》的读书笔记

学习基础:

熟悉《设计模式》的基本概念,熟悉《重构》的基本概念,熟悉基本的 Java 语法,熟悉Eclipse和JUnit的使用,有相对较好的英语基础。

学习过程:

  • 第1部分,手工输入实例程序,了解TDD的方法和过程。重点是理解TDD的思路,最好的理解方式就是通过实践的方式理解。
  • 第2部分,教你如何用 Python 实现一个符合xUnit的测试框架。
  • 第3部分,TDD的模式,这些模式展现TDD如何与其他重要思想(例如:设计模式、重构等等)一起工作的。

学习目的:

编写正确的代码。

学习感悟:

  • 道理很简单,操作也很简单,但是我仍然无法明了作者许多重构操作的意图,只是感觉作者可能是从直觉出发写出代码,再通过重构推进测试代码与产品代码之间的解耦。(知其然,不知其所以然)
  • 可以先跳过第2部分,了解xUnit如何实现固然重要,但是为此变成先学Python就有点跑题了
  • 还可以跳过第3部分,这部分都是作者从思想上对TDD的总结,俗话说“不吃亏不涨记性”,等自己在项目中吃够了亏再来回顾别人的经验,才会真正共鸣吧。

学习代码:

代码很简单,不需要再提供,反而最重要的是自己一定要手工跟一遍,否则无法领会作者的意图。至少,我在豆瓣上看了几个评论,大部分都是看懂了,没感觉。

测试驱动开发的规则

  1. (P4)明确设计目标,完善测试代码
    • 消除重复设计即是消除依赖关系(测试代码与产品代码之间的依赖关系);
    • 测试驱动开发不是通过一小步一小步来完成的,而是培养一小步一小步开发软件的能力。因为简单的问题可以走快点,复杂的问题就可以走慢点。
  2. (P12)完善产品代码
    • 完成知道怎么做的产品代码;
    • 补充不知道怎么做的产品伪代码。
  3. (P14)寻找隐含的开发目标,完善测试代码
    • 利用三角法发现产品代码中的问题( 三角法:当例子不止1个的时候才完善代码。可以在没有设计思路的时候,换个角度思考问题)
    • 利用重构解决发现的问题
  4. (P17)通过开发的功能来重构测试代码
  5. (P33)不打断自己已经在做的工作,如果非要打断也不要在新的工作中花太长的时间,并且不能再次打断这个新的工作。(事不过三)
  6. (P34)找到自己的开发节奏。(一开始慢一点,慢慢加快,再调整回慢,直到找到自己最合适的节奏感)
  7. (P42)删除不需要的子类,会发现测试代码中存在的不需要的测试也可以删除(放弃不需要的东西,会帮助你发现你还需要什么)

测试程序开发周期的阶段

  1. 写一个测试程序;
  2. 让测试程序编译通过;
  3. 运行测试程序,发现不能运行;
  4. 让测试程序可以运行;
  5. 消除重复设计,优化设计结构。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Handbook of Data Structures and Applications

Handbook of Data Structures and Applications

Dinesh P. Mehta / Chapman and Hall/CRC / 2004-10-28 / USD 135.95

In the late sixties, Donald Knuth, winner of the 1974Turing Award, published his landmark book The Art of Computer Programming: Fundamental Algorithms. This book brought to- gether a body of kno......一起来看看 《Handbook of Data Structures and Applications》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具