Почему TDD "Шипы" называются "Шипами"?

Ребята, управляемые тестированием, ссылаются на быстрое, исследовательское, исследование, которое включает в себя кодирование чего-то, чтобы увидеть, работает ли оно, spike.

Любые идеи, почему они придумали это слово?

Обновление: Чеканка Кента Бэка выглядит как "оригинальная" для меня, хотя его использование слова на мой взгляд не имеет большого смысла. Кодирование быстрого теста - "проложить всплеск через проект"?

Интересно, что, похоже, он прекратил использовать этот термин, потому что он вызывал различные значения для разных людей - см. ниже доказательства!

Ответ 1

Уорд Каннингем пишет на WardsWiki (ссылка на Кент Бек):

Я часто спрашивал Кента: "Что такое Простейшая вещь, мы можем запрограммировать это убедит нас, что мы правы трек?". Такой шаг за пределами трудности под рукой часто приводили нас к более простые и более убедительные решения. Кент назвал это Спайком. Я нашел особенно полезны поддерживая большие рамки.

Кент Бек пишет в Руководство по улучшению Smalltalk:

Иногда я называю это "всплеск", потому что мы двигаем всплеск по всему дизайну. [...] Поскольку люди по-разному ассоциируют "всплеск" с волейболом, железными дорогами или собаками, я начал использовать "архитектурный прототип" для описания этой реализации.

Ответ 2

ИМХО термин шип относится к вождению гвоздя через доску. Да, здесь

"Спайк" - термин экстремального программирования что означает "эксперимент". Мы используем слово потому что мы думаем, что шип имеет быстрый, почти грубой эксперимент направленных на изучение только одного. подумайте о том, чтобы водить большой гвоздь через доска.
- Экстремальные приключения в программировании на С# - Рон Джеффрис

Ответ 3

Я всегда считал это альпинистской аналогией. Где вы положили шип в гору на своем пути. Если шип прилипает, тогда все в порядке.

Ответ 4

Jargon File имеет следующую запись:

spike v.

  • Чтобы победить механизм выбора, введя (иногда временное) устройство, которое заставляет конкретный результат. Слово используется в нескольких отраслях; телефонные инженеры ссылаются на срабатывание реле, вставляя штырь для удержания реле в закрытом или открытом состоянии, а железнодорожники ссылаются на срабатывание переключателя дорожки, так что его нельзя перемещать. В среде программирования обычно это относится к временному изменению, обычно для целей тестирования (в отличие от постоянного изменения, которое будет называться жестким).

  • [borderline techspeak] Видимый пик в противном случае довольно постоянный график (например, внезапный всплеск линейного напряжения, неожиданный короткий "высокий" на логической линии в цепи). Хакеры часто используют это для внезапного небольшого увеличения некоторого количества, такого как загрузка системы или сетевой трафик.

Ответ 5

Потому что это необычно, как всплеск на графике. Например. Шип в использовании ЦП.

Ответ 6

Я считаю, что это инженерное выражение. Спайк - это временное решение, которое вы пытаетесь выяснить, работает ли оно, прежде чем вы сделаете постоянное решение. Инженеры-железнодорожники говорят о том, чтобы вытащить трек-переключатель: вставить шип рельса в переключатель, поэтому его нельзя перемещать.

Ответ 7

Он называется Spiking, потому что он разрезает все слои системы. Это то, что он имеет в виду, когда говорит Архитектурный прототип.