21

测试驱动开发 (TDD) 及其优势已得到明确定义。对于行为驱动开发 (BDD) 等实践也是如此。每一个都代表了一种软件开发技术,在开始编码之前提倡更严格的纪律。

那么,“非结构化”开发方法的方便缩写是什么?

我见过偶尔使用“TAD”(开发后测试),但这仍然意味着正在进行测试。有没有人见过(或是否有人想发明)“随用随编码”的开发方法的首字母缩写词?我正在寻找与我们所做的开发类型相同的 TDD/BDD/xDD,我们只需编写代码和发布即可。

(显然,这里有足够的“喜剧”空间,所以让我们避免“n00b Driven Development”之类的。)

[更新]

很多非常好的回应。最终,我认为“开发驱动开发”“理念驱动开发”的想法最能回答这个问题。在 TDD 中你试图通过测试,在 BDD 中你试图满足行为,在“非结构化”开发中,你真的只是通过尝试将想法转换为代码来驱动。

显然,没有正确或错误的答案,但这里收集了很好的意见。希望这个资源对其他试图在没有过程的情况下清楚地捕捉开发“定义”的人有用。

4

5 回答 5

27

我不知道首字母缩略词,但您所指的通常称为Cowboy Coding

Cowboy Coders 是按照自己的规则编写代码的程序员。

牛仔之路:

  • 我可以一起破解某些东西的速度决定了我的价值
  • 需要评论才能理解我的代码的人太笨了,不能和我一起工作
  • 向我询问有关我的代码问题的人太愚蠢以至于无法理解它,并且(因此)太愚蠢而无法与我一起工作
  • 别人的代码很蹩脚,但我的代码自我描述很漂亮
  • 利用编译器依赖的语言特性来节省一行代码是“优雅的”
  • 我团队中的其他人导致了所有的错误;我是修复它们的人
  • 我的代码永远不会出错,永远完美,而且我不会犯错误
  • 因为我的代码从来没有过错,所以我不需要彻底测试它,如果有的话
  • 因为我的代码总是完美的,所以无论它在代码库中存在多长时间或者它周围发生了多少变化,都不需要重构
  • 因为我从不犯错,所以我可以对任何犯错的人大喊大叫
  • 由于我的代码是完美的,如果程序由于意外数据而崩溃,则输入错误数据是用户的错。
  • 由于我的代码是完美的,如果程序在一个小的机器配置更改后失败,那么更改它是系统管理员的错。
  • 由于我的代码是完美的,如果程序运行得太慢,那是管理层的错误,因为没有提供更快的机器。
于 2010-06-29T19:49:57.523 回答
13

我倾向于同意 Pavel,但会更进一步并称之为:

发展驱动发展

没有明确动机的发展是为发展而发展。在 TDD 中,您开发以满足测试。在 BDD 中,您开发以建立一些行为。在开发驱动的开发中,您开发是因为您是开发人员,这就是您得到报酬的工作。

于 2010-06-29T20:37:24.097 回答
8

FDD

信仰驱动的发展。

因为您需要祈祷您的项目在每个版本上都能正常工作。

于 2010-06-29T20:19:21.470 回答
7

AD(D)D - 注意力缺陷(驱动)发展

您在其中:

  • 随机处理应用程序中当时吸引您注意的任何部分
  • 为哪个用户大声尖叫的人工作(直到其他人大声尖叫)
  • 跑下代码中的兔子足迹,忘记你到达那里的路径,然后在完全不同的地方出现并解决一些完全不同的问题
  • 通过改变代码的行为来“重构”代码,而无需牢牢掌握它实际上应该做什么,或者在你完成后它是否仍然有效 - 但如果它没有,如果有人大声尖叫,你可能会设法修复它
于 2010-06-29T20:29:45.603 回答
4

MaDD——经理驱动的开发。

编写实际产品所需的时间已经比您估计的要长- 现在您想花更多 时间编写从未发布的测试?!?!

于 2010-06-29T20:39:36.930 回答