Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

вторник, 17 мая 2011 г.

Test Driven Development: TDD мантра

В TDD ты перестаешь быть причиной своим действиям - ты зависим от внешних сигналов.

Пока горит красный свет - ты думаешь, что сделать чтобы загорелся зеленый.

Когда загорелся зеленый - ты думаешь как бы сохраниться и навести марафет.

Когда горят несколько красных - ты думаешь, как бы откатиться.

Все что по привычке придумывается в процессе - выносится в список "на как-нибудь потом".

Когда все готово - думаешь, что бы взять попроще из списка. Тут все начинается опять.

Период такой итерации - 15 минут. Никаких DEBUG по пути.

Страшно быть не должно. Не делай того, за что беспокоишься. А если беспокойство само собой возникло - пиши тесты.

Если тест мешает - подумай, как от него избавиться. Но если страшно - напиши другой тест.

9 комментариев:

  1. И как обычно возникает вопрос :) а как в этом процессе сделать ускорение раз этак в 100

    ОтветитьУдалить
  2. Есть одно лекарство. Называется - не пишите код. Если есть возможность не изобретать велосипед, лучше не изобретать его. Сюда входит:
    1) убедить продактовнера, что у него и так все хорошо
    2) убедить проадктовнера купить готовое
    3) сконструировать из нескольких отдельных компонентов желаемое
    4) подождать немного, быть может продактовнер передумает

    ОтветитьУдалить
  3. Я уже и позабыл об этих ощущениях парения. Пасиб.

    ОтветитьУдалить
  4. А можно заказать пост ?)
    хочу: ПсевдоКод vs. TDD
    а обэденить?
    ефективно ли использовать свой "гибрид" или лучше пользоватся "чистыми" технологиями?
    тот же Макконнел -- фанат ПП хоть про ТДД знает...

    ОтветитьУдалить
    Ответы
    1. можно там где ТДД сложнее применить, юзать ПППК, например в какой-то *.jsp или *.css-ке
      Так и код будет комментирован

      Удалить
    2. И если устал от ТДД ) - почему бы и нет?

      Удалить
    3. как говорит СанЁк на фейсбуке - почему бы и да?
      Вот возьму и попрограммирую в ПППК в понедельник!

      Удалить
    4. Расскажи, как получилось?

      Удалить
    5. Эффективно экспериментировать и находить рабочие инструменты. Причем понимать, что инструменты где-то работают а где-то нет. Для меня TDD + DSL + разработка извне вовнутрь с моками и есть программирование псевдокодом с TDD :) Пишу в тесте код так, как я бы хотел его видеть в продакшене, потом реализация. Рефакторингом причесываю.

      Видео, которое может пригодится:
      Как бы мы писали функциональные тесты
      Сравнение тестов на поведение и тестов на состояние

      Удалить