为什么TDD'Spikes'被称为'Spikes?

时间:2008-10-30 12:14:47

标签: tdd

测试驱动的开发人员参考快速,探索性的调查,包括编写某些内容以查看是否有效 spike

为什么他们提出这个词的任何想法?

更新:肯特贝克的造币对我来说就像是“原始的”,虽然我认为他对这个词的使用没有多大意义。编写一个快速测试是“通过项目飙升”?

有趣的是,似乎他停止使用这个词,因为它为不同的人带来了不同的含义 - 见下面的证据!

7 个答案:

答案 0 :(得分:38)

Ward Cunningham写道WardsWiki(指Kent Beck):

  

我经常会问肯特,“这是什么   我们可以编程的最简单的事情   将说服我们我们是对的   跟踪?“这样的踩踏   手头的困难经常导致我们   更简单,更引人注目的解决方案。   肯特称这为Spike。我找到了   练习特别有用   维护大型框架。

Kent Beck在Guide to Better Smalltalk写道:

  

有时候我称之为“尖峰”,因为我们正在推动整个设计的尖峰。 [...]因为人们将“尖峰”与排球,铁路或狗联系起来,我已经开始使用“建筑原型”来描述这种实施。

答案 1 :(得分:10)

恕我直言,尖峰一词涉及通过木板钉钉子。 是的..这里是

  

“Spike”是极限编程术语   意思是“实验”。我们用这个词   因为我们想到一个尖峰有一个   快速,近乎蛮力的实验   旨在学习一件事。   想到通过一个大的钉子   板。
   - C#中的极限编程冒险 - Ron Jeffries

答案 2 :(得分:5)

我一直认为这是登山者的比喻。你在路上放山峰的地方。如果钉子坚持,那么就可以这样做。

答案 3 :(得分:2)

Jargon File包含以下条目:

秒杀 v。

  1. 通过引入强制特定结果的(有时是临时的)设备来打败选择机制。这个词用于几个行业;电话工程师指的是通过插入一个引脚来保持继电器处于闭合或打开状态,以及轨道开关使其无法移动。在编程环境中,它通常是指临时更改,通常用于测试目的(与永久更改相反,后者称为硬连线)。

  2. [borderline techspeak]在另一个相当恒定的图形中的可见峰值(例如,线电压的突然激增,电路中逻辑线上的意外短“高”)。黑客经常使用它来突然短暂增加一些数量,例如系统负载或网络流量。

答案 4 :(得分:1)

因为它与众不同,就像图中的尖峰一样。例如。 CPU使用率飙升。

答案 5 :(得分:1)

我认为这是一种工程表达方式。在您制定永久性解决方案之前,尖峰是一种临时解决方案,您可以尝试查看它是否有效。铁路工程师谈论尖峰轨道开关:将轨道尖钉插入开关,因此无法移动。

答案 6 :(得分:0)

它被称为 Spiking ,因为它会切穿系统的所有层。当他说建筑原型时,他的意思是什么。