【发布时间】:2010-08-16 16:01:29
【问题描述】:
类似于Does TDD mean not thinking about class design?,我在思考传统“设计”阶段在哪里适合 TDD 时遇到了麻烦。
根据 Bowling Game Kata(“对话”版本,目前我没有看到它的链接),TDD 似乎忽略了早期做出的设计决策(丢弃框架对象、滚动对象等)。我可以在该示例中看到,遵循测试并忽略您的初始设计想法是一个好主意,但在更大的项目或您想要为扩展/定制留出空间的项目中,将东西放入会不会更好您没有测试或不需要立即进行测试以避免以后耗时的重写?
简而言之 - 在进行 TDD 时多少设计太多了,在我编写测试和通过测试的代码时我应该遵循多少设计(忽略我的设计只担心通过测试)?
或者我什么都不担心,如果你被画到角落里,仅仅为了遵循测试而编写的代码不是(在实践中)难以重写或重构? 或者,我是否错过了重点,并且我应该期望在我来测试新的功能部分时重写部分代码?
【问题讨论】:
标签: unit-testing tdd