Как практиковать 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>
Пред: Переход от Enzyme к библиотеке тестирования React
Следующий: Применение теста