Ear*_*rlz 42 language-agnostic tdd methodology
我最近一直在阅读关于TDD的内容,而且我现在还没有完全卖掉它......我做了很多小的爱好项目(只有我)而且我担心如果试图做TDD是过度的这样的事情.虽然我已经看到过3个开发人员做TDD的小型开源项目.(虽然我看过一些同样做TDD的单人项目)
那么TDD总是一件好事,或者在什么门槛上使用它是有意义的?
hob*_*ave 34
TDD在小型项目中大放异彩.在一个小项目中坚持TDD 通常要容易得多,而且这是练习并获得遵循TDD所需的纪律的好时机.
根据我的经验,较大的项目倾向于在某个门槛上放弃TDD.(我不是说这是件好事).
我认为较大的项目倾向于放弃它,原因有两个:
duf*_*ymo 10
我总能找到一个有趣的问题.有什么选择?编写您只编译并永不运行以验证其正确性的代码?您是否要等到部署到生产中以确定您的课程是否有效?
如果我们从未有过一个名为TDD的实践,或者在1997年发明JUnit之前,是否没有代码测试?当然有.那么为什么现在你有测试框架可以帮助你呢?
即使是在紧迫的期限内的小项目也不想等到生产才能找出它是否有效.写下测试.
任何"小"的项目都没有必要,但我将"小"定义为少于一个类.
小智 7
矫枉过正?一点也不.除了主要的好处,也就是编写代码,你可以依赖它,因为你已经考虑过它可以破解的方式,你会更加自律,并且可以通过测试驱动开发提高工作效率.选择任何实用的程序员书籍,获取提示和灵感.
我从当地敏捷集团的一位成员那里听到的一点是,她没有发现TDD 在项目的最早阶段很有用,在这些阶段你基本上都是快速制作草图,而你却不确定它的形状是什么现在还在.但是只要您对接口的外观有所了解,就可以开始使用测试来帮助您定义它们.
TDD是另一种工具,如文档,可以提高代码的清晰度.当其他人需要使用您的代码时,这是至关重要的,但我们中的许多人发现在回顾我们自己的代码时它也非常有用.在离开它一段时间后,你曾经有过一个爱好项目,遇到了一些奇怪的代码,并且想知道"为什么我写这个?"