48

テスト駆動型開発担当者は、何かが機能するかどうかを確認するために何かをコーディングすることを含む、迅速で探索的な調査、つまりスパイク指します。

彼らがその言葉を思いついた理由はありますか?

更新:ケント・ベックによるコインは、私には「オリジナル」のもののように見えますが、彼の言葉の使い方は、私の意見ではあまり意味がありません. 簡単なテストをコーディングすることは、「プロジェクトにスパイクを入れること」ですか?

興味深いことに、彼はこの用語を使用するのをやめたようです。なぜなら、この用語がさまざまな人々にさまざまな意味を呼び起こしたからです - 証拠については以下を参照してください!

4

7 に答える 7

46

Ward Cunningham はWardsWikiで次のように書いています(Kent Beck に言及しています)。

私はよくケントに、「自分たちが正しい道を進んでいると確信できるようにプログラムできる最も簡単なことは何ですか?」と尋ねます。このように目の前の困難から抜け出すことで、よりシンプルで説得力のある解決策にたどり着くことがよくありました。ケントはこれをスパイクと呼んだ。大規模なフレームワークを維持している間は、このプラクティスが特に役立つことがわかりました。

Kent Beck はGuide to Better Smalltalk に次のように書いています。

これを「スパイク」と呼ぶことがあります。これは、設計全体でスパイクを発生させているためです。[...] 人々は「スパイク」をバレーボール、鉄道、または犬とさまざまに関連付けているため、この実装を説明するために「アーキテクチャ プロトタイプ」を使用し始めました。

于 2008-10-30T13:11:20.210 に答える
11

私見スパイクという用語は、厚板に釘を打ち込むことに関連しています。うん..ここです

「スパイク」は「実験」を意味するエクストリーム プログラミング用語です。私たちがこの言葉を使用するのは、スパイクが 1 つのことだけを学習することを目的とした、ほとんど力ずくのような迅速な実験を行うと考えているからです。ボードに大きな釘を打ち込むことを考えてみてください。
-- C# でのエクストリーム プログラミング アドベンチャー - ロン ジェフリーズ

于 2008-10-30T12:40:35.593 に答える
7

私はいつもそれを登山家の例えだと思っていました。登る途中で山にスパイクを置いたところ。スパイクがくっついている場合は、そのように行ってもかまいません。

于 2008-10-30T12:24:57.183 に答える
2

Jargonファイルには次のエントリがあります。

スパイクv。

  1. 特定の結果を強制する(場合によっては一時的な)デバイスを導入することにより、選択メカニズムを無効にすること。この言葉はいくつかの業界で使用されています。電話エンジニアは、リレーを閉じた状態または開いた状態に保持するためのピンを挿入してリレーをスパイクすることを指し、鉄道会社は、トラックスイッチを動かせないようにスパイクすることを指します。プログラミング環境では、通常、テスト目的での一時的な変更を指します(ハードワイヤードと呼ばれる永続的な変更とは対照的です)。

  2. [borderline techspeak]それ以外はかなり一定のグラフで目に見えるピーク(たとえば、線間電圧の突然の急上昇、回路内の論理線の予期しない短い「高」)。ハッカーはこれを頻繁に使用して、システム負荷やネットワークトラフィックなどの一部の量が突然短時間増加します。

于 2008-10-30T12:33:35.433 に答える
2

グラフのスパイクのように、異常だからです。例: CPU 使用率のスパイク。

于 2008-10-30T12:16:26.000 に答える
1

工学的な表現だと思います。スパイクは一時的な解決策であり、永続的な解決策を作成する前に、それが機能するかどうかを確認するために試してみます。鉄道エンジニアは、トラックスイッチのスパイクについて話します。スイッチにレールスパイクを挿入して、移動できないようにします。

于 2008-10-30T12:28:36.660 に答える
1

システムのすべてのレイヤーをスライスするため、スパイキングと呼ばれます。それが彼がArchitectural Prototypeと言うときの意味です。

于 2014-09-01T16:29:26.203 に答える