Re[5]: TDD: почему он возник?
От: vmpire Россия  
Дата: 06.03.18 08:38
Оценка:
Здравствуйте, student__, Вы писали:

____>А процесс ТДД не понятно как распараллелить. Вот три стадии цикла ТДД:


__>1) написание теста, который заведомо не выполнится успешно (другие в ТДД не комильфо, потому что каждый новый тест должен предварять соотв. ему изменения в коде);

__>2) исправления в коде по принципу наименьшего сопротивления;
__>3) рефакторинг кода по результатам 2), если он нужен.

__>При выполнении п.2) каждого цикла, архиектура кода потенциально может измениться. И, даже если дизайн ООП системы не меняется в конкретном цикле, нужно делать рефакторинг или нет — зависит от результатов п.1) и п.2).

__>И не важно, на сколько малы изменения — суть зависимости это не меняет.
__>Т.о., мало того, что вполнение каждого последующего цикла зависит от результата предыдущего, стадии внутри цикла тоже зависят друг от друга.
Если рассматривать ситуацию сугубо теоретически — то да, любой новый код (даже безотносительно TDD) может поменять архитектуру всей системы и результаты работы остальных членов команды станут нерелевантными.
Но практика говорит, что 99% работы программистов — локальные и не влияют на другие части системы.
Касательно TDD — если каждый цикл TDD (или даже каждый десятый) приводит к изменению архитектуры системы — значит команду нужно разогнать и нанять нормальных опытных разработчиков.
Потому, что если они через TDD пытаются создать архитектуру сложной системы, не уделяя внимания системному проектированию, то навыки данной команды для данного проекта недостаточны.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.