我需要在测试驱动开发上做一个简短的演示(2-4小时),并需要提出一个小类,我可以使用TDD方法来构建。类必须相对较小,但“卖”TDD的概念。
如果有人读过James Newkirk的书,在Microsoft.Net中的测试驱动开发,Stack示例是完美的。它是一个小类,有一个可管理的测试/需求列表,并且创建过程销售TDD(IMHO)。
我不想使用Stack示例或类似的数据结构(队列,列表等),因为害怕碰撞Newkirk的工作。
所以,我正在为一个示例类寻找一些好的想法。
谢谢。
它使用的是
1st section of Kent Beck’s Money example.它开始非常简单,但是当你到达另外两种不同的货币,TDD突然显示你的前台设计,或YAGNI(你不会需要它)的可笑性。
另一个很好的例子是Bob的bowling score TDD example。我认为这是一个很好的例子,说明一个TDD叙述如何为你提供一个清晰的解决方案,通过一个前面的设计显然是不可接受的。
为了使它成为一个非常令人兴奋的演示,前期你可以挑战观众设计两个场景使用任何他们认为合适的方法。然后你会显示TDD的设计方式。
对于我来说,TDD的真正的WTF时刻是当Beck删除了Money的两个子类,并且测试工作。这不是一个微不足道的行动;男人删除了两个类!这样做的信心只能通过两种方式找到。
1)收集所有的高级玩家在一个代码库和运行情况,然后广泛的跟进,以确认它的工作
2)TDD
= D