php - 尝试测试驱动开发

标签 php language-agnostic tdd methodology gtd

看完这篇post我有点和问这个问题的人处于同样的位置。我热爱科技,想出解决现实世界问题的新点子只会让我的神经元兴奋起来,但等式的另一部分——实际上(快速)完成事情——通常很难完成,尤其是当我“我这样做是为了我自己。

有时我对代码感到厌倦,有时我会花更多时间在文本编辑器中移动光标并盯着我的代码,试图想出一个比我已有的解决方案更好的解决方案。我听说这是一种称为完美主义的疾病

我在同一篇文章中读过(在 SO 上也读过几次)TDD 实际上可以很好地停止 coding like a girl ,但是我从来没有给过 TDD 机会——要么是因为我懒得学习/设置它,要么是因为我认为我不需要它,因为我可以在脑海中完成我需要的所有测试。

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

PS:我主要(但不完全)在这里使用 PHP。

最佳答案

我个人认为 TDD 往好了说是矫枉过正,往坏了说是阻碍了编程的创造性过程。为每个尚未编写的方法/类费力地编写单元测试所花费的时间最好花在解决原始问题上。话虽这么说,我是单元测试的忠实拥护者,并且全心全意地相信它们。如果我有一段特别复杂或麻烦的代码,我很乐意为一个方法编写 20 个单元测试,但通常在我解决问题之后。 TDD,就像所有其他编程范例一样,不是 Elixir 。如果适合你使用它,如果不继续寻找。

但请对我的意见持保留态度。一个更有趣的来自 Kent BeckHow deep are your unit tests? .

关于php - 尝试测试驱动开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1360357/

相关文章:

php - 将 HTML 表格数据转换为转置的二维数组

php - 通过连接 MySQL 中的两个表,根据表单中检查的服务获取结果

database - 排序上/下投票项目的技术

language-agnostic - 哪种设计模式乍看之下最可怕,但实现后却是最美丽的?

javascript - 使用 QUnit 测试在 async() 断言中断言测试失败

java - eclipse : Running tests when you're thinking

c# - Visual Studio TDD 设置

php - 对同一请求使用 mysql GROUP BY 和 ORDER BY

php - fatal error php

language-agnostic - 关于过滤器的一般文档