Сколько вы видели откровенно упоротых по состоянию кода проектов? Сколько из них разрабатывалось такими специально? Сколько из них сейчас проще переписать с нуля? А был в истории этих проектов момент, когда такой проблемы можно было бы избежать, начав рефакторить код?
А где располагается эта точна на временном отрезке жизни проекта, когда "стало нужно рефакторить"? Смогли ответить на предыдущий вопрос?) Если да, тогда я спрошу еще: а рефакторинг действительно стал нужен именно с конкретной даты? Неделей ранее он еще нужен не был?
Момент, когда для добавления новой фичи нужно пошлифовать старые или что-то, хотябы минорно, переделать, настает на каждом проекте рано или поздно. И это, по сути, не проблема - это нормальная часть рабочего процесса. Часть жизненного цикла продукта.
Проблемой оно становится тогда, когда на добавление условной кнопки начинает уходить не час, а день. Или три дня. Или неделя. Когда достаточно простые, на первый взгляд внедрения в код начинают тащить за собой лавину доделок, допилов и костылей.
Которые, в свою очередь, уже через неделю начнут мешать внедрению новой очередной фичи. И команда начинает вылезать за оценки, менеджмент и заказчики - откровенно агриться. Начинают приниматься решения типа "так, сроки горят, ща бегом сдадим, а потом видно будет".
Но все, что видно потом - это растерянное лицо менеджера, и гневное лицо заказчика, искренне негодующего: "Вы же профессионалы! Какого фига я жду эту фичу уже неделю?!" Проект начинает обрастать дурной славой среди коллег. Попасть на него - фуфуфу! Лучше вон на тот, новый!
Знакомо? Флешбеки пошли?) Тогда нам есть о чем поговорить)
Сергей Нагаев