2 ноября 2008 г.

Red-Green-Refactoring. Зачем красная полоска?

Для «прожженых» TDD программистов это уже уже не вопрос. Воспринимайте эту статью, как заметку. Я сам иногда ленюсь смотреть на красную полосу, но заставить себя обязательно надо. Теперь будет ещё один повод - раз написал про это, значит и сам должен подавать пример!

Напомню «мантру» TDD — Red-Green-Refactoring

И главное правило: «Никогда не пиши рабочий код без неудачно завершившегося теста».

Что же такое красная полоса и как её воспринимать?

Красная полоса показывает какую-то недоработку в коде. Что-то работает не так, как должно. Пусть эта красная полоса подталкивает нас скорее избавится о чувства незавершённости и неработоспособности кода.

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

Это и есть цикл разработки:

  1. Сначала я придумывают тест
  2. Создаю недостающие объекты, чтобы проект компилировался
  3. Запускаю тест и вижу, что он не работает (красная полоса). Здесь появляется маячок, который подталкивает меня решать эту проблему. Хочу зелёную полоску!
  4. Пишу код до тех пор, пока тест не сработает
  5. Вижу зелёную полоску и внутренне радуюсь своей маленькой победе!
  6. Рефакторю код, если это необходимо

Самое главное не сбиться с этой последовательности. Этот цикл (R-G-R) помогает держать ритм написания кода. Моя красная полоска мне в этом помогает! Чего и вам желаю ;)

Ссылки

TDD: Fail fast

Test-driven development

What's the point of Test Driven Development?

http://reddevnews.com/techbriefs/article.aspx?editorialsid=849

http://bloggingabout.net/blogs/dennis/archive/2005/12/14/10554.aspx

Комментариев нет:

Отправить комментарий