Устаревший код - это болезненный / дорогой код, чтобы быть в курсе изменяющихся требований.
Это может произойти двумя способами:
- Код не подходит для изменения
- Семантика кода заменена на кремниевую
1) легче распознать. Это программное обеспечение имеет фундаментальные ограничения, что делает его неспособным идти в ногу с экосистемой вокруг него. Например, система, построенная на алгоритме O (n ^ 2), не масштабируется за пределами определенной точки и должна быть переписана, если требования движутся в этом направлении. Другой пример - код с использованием библиотек, которые не поддерживаются в последних версиях ОС.
2) Труднее распознать, но весь код такого рода имеет общую черту: люди боятся его менять. Это может быть из-за того, что он был плохо написан / задокументирован с самого начала, потому что он не проверен, или потому что он нетривиален и оригинальные авторы, которые поняли это, покинули команду.
Символы ASCII / Unicode, составляющие живой код, имеют семантическое значение, «почему», «что есть» и в некоторой степени «как» в сознании людей, связанных с ним. Устаревший код либо не принадлежит, либо владельцы не имеют значения, связанного с его большими частями. Как только это произойдет (и это может произойти на следующий день с действительно плохо написанным кодом), чтобы изменить этот код, кто-то должен его изучить и понять. Этот процесс занимает значительную долю времени, необходимого для его написания.