扩展这个问题我如何学会从问题描述转到代码 两个人提到了TDD.
对于初学者来说,进入TDD会有好处(并且避免将来养成坏习惯吗?)或者在理解编程语言是什么时,它是否会过于复杂?
TDD意味着比"传统"方法更简单(直到最后才测试它) - 因为测试澄清了你对问题的理解.如果你实际上并不清楚问题是什么,那么编写测试就很困难了.
因此,对于初学者来说,编写测试会使思维方式朝着正确的方向发展,这是合同行为,而不是实施行为.