我相信TDD是最有前途的开发者之一。练习,但很容易从开发工具集中删除。
现在对我来说很难。但是很多开发者。似乎在日常工作中认真对待它。
每当我考虑到所有的鼓励,好处和好的建议时,我都会尝试TDD,
但是我花了几个小时后回到了我原来的编程习惯
运行一些简单的测试用例。
有些人说它花了一些时间来使用它,因为它是练习!。
我只想知道成为TDD专家需要多长时间
如果你是一个不能没有它的开发者。
答案 0 :(得分:5)
我在2007年开始使用TDD在工作时我得到了一个合适的任务来编写一个非关键的实用程序(30-40小时的努力)。当时对我来说,花了几个小时才弄清楚要先写什么测试,然后花几天时间来思考测试。大约一个星期后,我完成了那个程序,用代码行来衡量(not a good measure,我知道)我的工作效率与之前的项目大致相同(每小时约20个LOC完成生产代码)。
在第一个项目之后,我意识到我的测试还不是很好,我还在寻找自己的风格。我特别关注how to name my tests。我花了大约一年时间和七个小项目,直到我对我写的测试质量感到满意。大约在那个时候,我可以说I had internalized TDD,然后我写了a TDD tutorial来教其他人。当然,即使在那之后,我一直在不断进步,learning new approaches。
答案 1 :(得分:2)
这很难回答,因为测试驱动的开发易用性取决于您所处的环境。如果您的旧C代码具有许多硬依赖关系(其中依赖关系是具体类,而不是接口)那么单位测试变得更加困难。
如果你使用类似Spring的依赖注入,那么模拟一个对象并注入你正在测试的类会变得容易得多。类似Ruby或Groovy / Grails的东西,你可以基本上混合或改变底层类的功能。
我首先要弄清楚像Grails或Rails这样的东西,这些东西是用TDD构建的,并且让TDD更容易进入。