Обычно программисты не любят работать с legacy-кодом. Так называются исходники программ, доставшиеся по наследству от прошлых разработчиков. Считается что код legacy слишком сложен, что он выстроен не оптимально, написан по устаревшим технологиям и поэтому при работе с ним нет развития. Другое дело писать с нуля новые программы - тут можно использовать современные решения, новые приёмы и новые стеки технологий. Действительно, со временем в программу вносятся доработки. Когда добавляется новый функционал, между модулями программы возникают дополнительные связи, не предусмотренные на начальном этапе проектирования...