【问题标题】:What is the opposite of TDD? [closed]TDD 的反面是什么? [关闭]
【发布时间】:2010-06-29 19:48:31
【问题描述】:

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

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

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

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

[更新]

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

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

【问题讨论】:

  • 我认为相反的是“D”。
  • 突出点!我猜如果开发人员“无所事事”,那么真正剩下的就是 D。如此简单,但如此正确。
  • 二氯二苯基三氯乙烷?
  • 这里有两个问题:1) TDD 的反面是什么?和 2) 非结构化开发的首字母缩写词是什么...?
  • 不幸的是,StackOverflow 不会“容忍”这样的合法问题。虽然可能是主观的,但这是一个有用的讨论,尤其是在试图帮助人们理解什么是“先于”TDD 时。

标签: acronym


【解决方案1】:

我不知道首字母缩写词,但您所指的通常称为 CowboyCoding

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

牛仔之路:

  • 我可以一起破解某些东西的速度决定了我的价值
  • 需要 cmets 才能理解我的代码的人太笨了 和我一起工作
  • 问我代码问题的人太笨了,看不懂, 和(因此)太愚蠢了 和我一起工作
  • 其他人的代码很糟糕,但我的代码是自我描述的 漂亮
  • 利用与编译器相关的语言功能来保存一行 代码很“优雅”
  • 我团队中的其他人导致了所有错误;我是解决它们的人
  • 我的代码从不出错,永远完美,而且我不会出错
  • 由于我的代码从来没有过错,我不需要彻底测试它,如果 完全没有
  • 因为我的代码总是完美的,所以无论如何都不需要重构 它在代码库中存在多长时间或 它周围发生了多少变化
  • 因为我从不犯错,所以我可以对任何犯错的人大喊大叫
  • 由于我的代码是完美的,如果程序由于意外而崩溃 数据,这是用户的错 输入错误数据。
  • 由于我的代码是完美的,如果小机后程序失败 配置更改,这是 更改它是系统管理员的错。
  • 由于我的代码是完美的,如果程序运行太慢,那就是 管理层因未提供 更快的机器。

【讨论】:

  • Cowboy Coding 绝对是对这类开发的一个很好的描述。不过,如果可以使用“xDD”首字母缩略词,那就太好了。我还要补充一点,Cowboy Coder 有点极端。我认为有许多开发人员在测试之前仍然在编写代码(如果他们进行测试的话),但不那么漫不经心了。寻找一个能够概括这种方法的术语(因为它仍然很常见),而不是像“牛仔”这样极端的东西。
  • 牛仔编码有很多层次。我想你可以称它为 CDD(牛仔驱动开发)或 NDD(非驱动开发)。虽然如果你告诉其他开发人员某人是一名牛仔程序员,他们会比你想出的任何 xDD 更了解你。
  • CDD:牛驱动开发:-P
  • ...如果您确实知道某个首字母缩略词,则必须在自己的帖子上发表评论以说明它已被其他人使用。 “CC = 复本”。 :S
  • 与你开发的速度其实与质量息息相关
【解决方案2】:

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

开发驱动开发

没有明确动机的发展是为发展而发展。在 TDD 中,您开发以满足测试。在 BDD 中,您开发以建立一些行为。在开发驱动的开发中,您进行开发是因为您是开发人员,而这正是您需要做的事情。

【讨论】:

  • DDD = 领域驱动开发 (en.wikipedia.org/wiki/Domain-driven_design)
  • @Ben S:我不是为了谋生而创造术语,显然也不是试图声称它是一个已经使用或应该使用的术语。我只是用这种开发动机来解释我的经验。那个 DDD 已经被拿走了对我来说毫无意义,但无论如何我已经把它从帖子中删除了。
【解决方案3】:

FDD

信仰驱动的发展。

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

【讨论】:

【解决方案4】:

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

你在其中:

  • 随机处理应用程序中当时引起您注意的任何部分
  • 为哪个用户大声尖叫(直到其他人大声尖叫)处理功能
  • 在代码中跑出兔子足迹,忘记到达那里的路径,然后在完全不同的地方出现并解决一些完全不同的问题
  • “重构”代码通过更改其行为而不牢记它实际应该做什么或完成后它是否仍然有效 - 但如果它没有,你可能会在有人大喊大叫时修复它足够响亮

【讨论】:

  • ADD = 架构驱动开发 (gersis-software.com/en/technologies/…)
  • @Ben S - 猜猜这就是为什么额外的 D 很重要... :)
  • 似乎是我曾经从事的每一个搁浅的爱好项目的故事,直到它体现为一个新项目......;P
【解决方案5】:

MaDD -- 经理驱动的开发。

它已经花费你比你更长的时间 估计只是来编码真实 产品——现在您想花 更多 编写永远的测试的时间 发布了?!?!

【讨论】:

  • 与这里的许多答案相反,通常是 mgmt 将严重破坏的方法推向开发人员,而不是相反。
  • 很抱歉让您的 TLA 超载,先生!我已经做出了相应的调整,但现在我可能不得不满足于愤怒的母亲想要他们的首字母缩写词回来
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2010-09-14
  • 2022-12-02
  • 2010-09-05
  • 1970-01-01
  • 2011-04-22
相关资源
最近更新 更多