与
Does TDD mean not thinking about class design?类似,我无法想象传统“设计”舞台适合TDD的地方.
根据保龄球游戏卡塔(“对话”版本,其链接此刻逃脱了我),TDD似乎忽略了早期的设计决策(丢弃框架对象,滚动对象等).在这个例子中,我可以看到,这是一个很好的主意,遵循测试,忽略你的初步设计思路,但是在更大的项目或者你想要开放扩展/定制的项目中,将东西放在您没有为了避免耗时的重写而立即进行测试或不需要立即进行测试?
简而言之,在做TDD时多少设计太多了,当我写测试和代码来传递它们(忽略我的设计仅仅担心通过测试)时,应该多少设计跟随设计?
或者我不担心什么,代码只是简单地按照测试,(实际上)难以重写或重构,如果你被画在一个角落?
或者,我错过了这一点,当我来测试新的功能部分时,我应该期待重写部分代码.
我将根据您的初步设计进行测试.在许多方面,TDD是一个发现过程.您可以期待确认您早期的设计选择,或者发现您可以做出更好的选择.做你喜欢的前期设计.有些人喜欢坐椅子座椅进行高级设计,并用TDD来设计出来.而其他人喜欢把纸上的一切都放在纸上.
原文链接:https://www.f2er.com/javaschema/281704.htmlTDD的一部分是重构.