#217

Test-driven development в реальной жизни

Есть такой подход к разработке: сначала пишется юнит-тест на несуществующий код, затем тест падает, затем исправляется «ошибка» — пишется непосредственно сам тестируемый класс. Это называется TDD.

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

Так и есть.

Главная проблема: требуется много возни, чтобы получился реально рабочий тест на несуществующий код. Создать файл, разместить его, подключить тестовый фреймворк, и т.д. Это — ментальная преграда.

Чит: vi ~/tttt.js. Воспользуйся идеей TDD без самого TDD. Ты можешь попробовать использовать будущий код без тестовой обвязки и даже ни разу не запуская этот скрипт. Секрет состоит в том, что тебе от TDD нужен не реальный make test, а нужно настроить мышление. Если ты попробуешь просто в блокноте пописать немножко прототипного кода, ты получишь 90% эффекта TDD. У тебя уже мозг настроится и уже через 10 мин такого эксперимента ты увидишь, что здесь работает, а что нет.

Иными словами, TDD — не в файлах, TDD — в голове.