Обычно программисты не любят работать с legacy-кодом. Так называются исходники программ, доставшиеся по наследству от прошлых разработчиков. Считается что код legacy слишком сложен, что он выстроен не оптимально, написан по устаревшим технологиям и поэтому при работе с ним нет развития. Другое дело писать с нуля новые программы - тут можно использовать современные решения, новые приёмы и новые стеки технологий. Действительно, со временем в программу вносятся доработки. Когда добавляется новый функционал, между модулями программы возникают дополнительные связи, не предусмотренные на начальном этапе проектирования...
Что такое легаси С английского legacy переводится как «наследие». Легаси-код — это код, который перешёл «по наследству» от предыдущих разработчиков. Чаще всего это происходит так: 1. Команда делает продукт, внутри много разных возможностей. 2. Часть функций со временем оптимизируется, а часть остаётся неизменной в виде старого кода, потому что и так работает. 3. Некоторое время спустя в команде не остаётся тех, кто писал старый код. 4. Текущая команда не знает, почему старый код написан именно так. 5. В этих кусках сложно что-то поменять или разобраться, потому что всё остальное написано уже по-другому. 6. Этот старый код, который сложно поддерживать и в котором сложно разбираться, — это и есть легаси. 👉 Проще говоря, легаси — это код, про который говорят: «Это ещё Михалыч писал восемь лет назад для синхронизации с сервером, он работает, мы код не трогаем, потому что иначе всё сломается». При этом Михалыча в компании давно нет, документации тоже нет, и проще этот код не трогать совсем. Так как легаси — это старый код, то обычно на него завязаны многие важные вещи в программе. Получается замкнутый круг: отказаться от легаси нельзя, потому что без него всё сломается, но и поддерживать его в рабочем состоянии тоже сложно, потому что никто не хочет разбираться в старом коде. Насколько это мешает разработке и что делают с легаси-кодом, читайте в нашей статье: v.thecode.media/...32b