我需要对测试驱动开发进行简短的演示(2-4小时),并且需要提出一个我可以使用TDD方法构建的小类.该课程必须相对较小,但"出售"TDD的概念.
如果有人读过James Newkirk的书,即Microsoft.Net中的测试驱动开发,那么Stack的例子就是完美的.它是一个小类,有一个可管理的测试/要求列表,创建过程销售TDD(恕我直言).
我不想使用Stack示例或类似的数据结构(队列,列表等)来担心影响Newkirk的工作.
所以,我正在为样本课寻找一些好主意.
谢谢.
Noe*_*edy 25
如何使用Kent Beck的Money示例的第1部分.它开始非常简单但是当你到达两种不同的货币时,TDD突然向你展示了前期设计的谬误,或YAGNI(你不需要它).
另一个很好的例子是鲍勃叔叔的保龄球得分TDD例子.我认为这是一个很好的例子,说明TDD叙述如何将您带入一个通过前期设计明确无法接受的清洁解决方案.
为了使它成为一个非常令人兴奋的演示文稿,您可以使用他们认为合适的任何方法挑战观众设计这两个场景.然后,您将展示设计它们的TDD方式.
对于我来说,TDD真正的WTF时刻是当Beck删除Money的两个子类时,测试工作正常.这不是一个微不足道的行动; 该男子删除了两个班!做这样的事情的信心只能通过两种手段找到.
1)在代码库中收集所有高级玩家并运行场景,然后进行广泛的跟进以确认其有效
2)TDD
= d
如果你有时间,我会选择一个带有某种外部依赖的例子,它将在测试中被抽象出来.数据库,调用GUI,调用远程系统等.
原因是TDD的一个块是示例似乎太自包含了."当然,当一切都是一个独立的单元,你可以进行单元测试,但是当我有15个系统进行集成时,重点是什么?" 之类的事情.
我还至少会在最后展示一个例子(看看Michael Feather的书"如何有效地使用遗留代码进行操作")迁移现有的类以将其置于TDD之下.不要再以此为例,但很可能你的观众将会考虑如何迁移他们当天早上所写的课程,没有理由让那个溃烂的人变得"不可言说".
| 归档时间: |
|
| 查看次数: |
17492 次 |
| 最近记录: |