banner

Новости

Oct 28, 2023

Как практиковать TCR (тестирование и фиксация)

Домашняя страница InfoQ Статьи Как практика TCR (Test && Commit || Revert) уменьшает размер пакета

20 февраля 2023 г., чтение на 13 минут

к

Филипп Бургау

рассмотрено

Мэтт Кэмпбелл

Некоторое время назад мы с коллегой проводили код ката на конференции в Париже. Вот какие выводы люди высказали в конце:

Я думал, что делаю маленькие шаги, но обнаружил, что могу сделать их еще меньше!

Мне все еще нужно больше опыта работы с самим TDD!

ScyllaDB — это база данных для приложений с интенсивным использованием данных, требующих высокой пропускной способности и низкой задержки. Достигните экстремального масштаба с минимальной совокупной стоимостью владения. Узнать больше.

Я потерялся в бесконечном рефакторинге.

К настоящему времени DevOps и Continuous Delivery широко распространены в отрасли. Но выполняется ли работа небольшими порциями, непрерывно интегрируется и с ней играют? Многие команды по-прежнему работают с ветвями функций, интегрируя только полные функции!

Разве не было бы здорово, если бы написание кода маленькими шагами стало второй натурой разработчиков? Достижение полного потенциала разработки на основе соединительных линий, DevOps и непрерывной доставки!

TCR — это метод, который заставляет вас писать код маленькими шагами! Это также суровый, но эффективный учитель. Давайте узнаем об этом больше. Посмотрим, как разработчики используют его для более непрерывной доставки и обучения своих товарищей по команде:

TCR означает «Проверить и зафиксировать или отменить». Он заменяет команду тестирования на команду test && commit || команда возврата. Таким образом, разработчики будут запускать команду TCR вместо запуска теста, чтобы проверить работу своего кода. Если код работает должным образом, TCR передает его в систему контроля версий. Если код не работает, TCR возвращает его в последнее рабочее состояние!

TCR начался как сумасшедший эксперимент Ларса Барлиндхауга, Оддмунда Стрёмме, Оле Йоханнессена и Кента Бека во время лагеря Code Camp в Осло. Затем Кент Бек распространил информацию в своем блоге. Кент Бек утверждает, что нам следует пробовать глупые идеи, потому что иногда они оказываются блестящими! Вопрос о том, глуп ли TCR или гениален, остается открытым. Тем не менее, люди, которые придерживаются этого достаточно долго, находят его поучительным!

источник

Вы обязательно чему-нибудь научитесь. (Кент Бек о попытке TCR)

Действительно, разработчики, серьезно опробовавшие TCR, сообщают о многих преимуществах:

Давайте прочитаем, что они говорят из первых рук. Вот интервью с двумя практиками TCR.

Привет, Гийом, можешь ли ты рассказать нам о себе в нескольких словах?

Гийом Фаас : Конечно. Меня зовут Гийом, и в настоящее время я работаю адвокатом разработчиков .NET в Vonage. Я работаю в индустрии программного обеспечения почти 15 лет, полностью работая в экосистеме .NET. Однако, если бы мне пришлось выбрать одну веху в своей карьере, это была бы не роль или проект, а признание мастерства разработки программного обеспечения. Действительно, это радикально изменило мой взгляд на разработку программного обеспечения, и есть «до» и «после». С тех пор я последовательно пытаюсь распространять это мышление и его ценности.

Можете ли вы поделиться своей историей о TCR: как вы попали в TCR? Каковы были ваши первые впечатления?

Фаас : Забавно, что вы спрашиваете. Моя первая встреча с TCR произошла во время одного из ваших семинаров, в частности, по игре в боулинг на встрече Software Craftsmanship Luxembourg. Я помню, что семинар был очень веселым и познавательным. Но, к сожалению, наши первые шаги были не такими уж маленькими, и мы начали бояться сохранять наши изменения. Тем не менее, я вышел из этого воодушевленный желанием практиковаться больше.

Сегодня для чего вы используете TCR?

Фаас: Чтобы быть полностью прозрачным, я применяю TCR с помощью инструмента, созданного командой технических тренеров Murex. В основном я использую его для ката во время тренировок. Это отличный способ преподавать TDD, потому что он приносит больше идей и не обязательно сложнее. Я также использовал его в производственном коде, но советую людям быть осторожными. Проверка того, что каждый тест проходит каждый раз, может существенно замедлить цикл обратной связи. Наконец, я также использовал его во время технических испытаний в качестве кандидата.

&& git commit -am "TCR" || git restore. /p>

ДЕЛИТЬСЯ