Одни и те же "грабли" замечаю у программистов-новичков, приходящих в новую команду. Такие программситы достаточно продвинуты, чтобы знать паттерны, SOLID и прочие buzz-words, и что-то уже попробовали, но еще не оптертые опытом и долговременным рефакторингом, как своего так и чужого кода. Практически, калька из 5 стадий принятия проблемы человеком.
1) Отрицание.
Видят много несовершенств в ПО и тыкают в них пальцем. Используют фразы: так правильно, это best practice, чистый код и пр.
2) Гнев.
Не видя быстрого решения, обижаются и начинается расколбас, шатания, прения, споры и пр.
3) Торг.
4) Депрессия.
Эти фазы проходят быстро и, как-то, внутри человека. Понимает что переписать можно, что нельзя и почему. Горюет, теряет или приобретает мотивацию заниматься проектом.
5) Принятие.
Осознает, что переписать можно совсем немного и только в рамках бизнес-задачи, а не как выделенная работа по рефакторингу системы.
У кого так же ставьте лайк.