尝试以测试为导向的开发

Ali*_*xel 9 php language-agnostic gtd tdd methodology

看完这篇文章后,我觉得和问这个问题的人有同样的感受.我热爱技术并提出解决现实世界问题的新想法只是让我的神经元变得饥渴,但是等式的另一部分 - 实际上是完成事情(快速) - 通常是完成任务的痛苦,特别是当我'我为自己这样做.

有时我觉得对代码感到厌倦,有时候我花了更多的时间在文本编辑器中移动光标并盯着我的代码,尝试提出一个比我已经拥有的更好的解决方案.我听说这是一种叫做完美主义疾病.

我已经在同一篇文章中读过(也有几次在这里也是如此),TDD实际上很好地停止像女孩一样编码,但是我从来没有给过TDD的机会 - 或者因为我太懒了学习/设置或因为我不认为我需要它,因为我可以在脑子里做我需要的所有测试.

  • 您是否也相信TDD实际上有助于GTD?
  • 关于TDD,我需要了解什么?
  • 那么TDD的替代品呢?
  • 组织/开发TDD Web应用程序的最佳方法是什么?
  • 我应该使用哪些库(如果有的话)让我的生活更轻松?

PS:我主要(但不是唯一)在这里使用PHP.

sip*_*wiz 5

就个人而言,我认为TDD最多是矫枉过正,最糟糕的是创造性编程过程的障碍.花费大量精力为每个尚未编写的方法/类编写单元测试的时间将更好地用于解决原始问题.话虽如此,我是单位测试的忠实粉丝,并全心全意地相信他们.如果我有一个特别复杂或麻烦的代码片段,我非常乐意为单一方法编写20个单元测试,但通常我已经解决了问题.与所有其他编程范例一样,TDD也不是银弹.如果适合,你可以使用它,如果不继续寻找.

但是我的意见含糊不清.更有意思的是肯特贝克你的单位测试有多深?.

  • 有些人声称在代码之前编写测试会导致更好的设计(最小,正确和可测试的代码片段). (2认同)