Я и я были и производителем, и разработчиком устаревшего кода. Если ваш инструмент генерирует «тысячи нарушений» (или даже сотни в этом отношении), забудьте инструмент, он неприменим к ситуации ...
Я предполагаю, что первоначальные разработчики давно ушли и недоступны для обсуждения. Так что нет никого, кто бы понимал, почему и почему стиль дизайна и кодирования. Исправление сотен или тысяч нарушений не будет проблемой переписывания нескольких строк кода здесь и там. Вместо этого, несомненно, требуется рефакторинг / повторное функциональное разложение. Вы пытаетесь сделать это с любой большой существующей кодовой базой, не зная глубоко ее текущий дизайн, и вы обязаны представить целый новый набор ошибок / проблем / и т.д. Просто новая банка с червями, даже хуже, чем та, что у вас сейчас есть (или хуже, чем ваш инструмент >> думает << у вас сейчас).
Единственный разумный подход к решению проблемы «тысяч нарушений» - это переписать с нуля. Долгое и дорогое усилие, и практически невозможно продать руководству. И в этом случае они, вероятно, правы ...
Устаревший код обычно требует только настроек. Как для 2000 года, или когда акции выросли с 256-х до десятичных. Я сделал кучу и того и другого. И много других подобных вещей. Обычно это довольно «точно», потому что вы можете «прочитать» иногда плохой стиль, плохую функциональную декомпозицию, плохой и т. Д. И найти коллекцию мест, которые нужно изменить. И тогда, что происходит «между этими местами», то есть, что является потоком более высокого уровня, может остаться для вас загадкой. Просто убедитесь, что вы понимаете локализуемую функциональность, которую вы меняете, и затем тестируйте, тестируйте, тестируйте на любые побочные эффекты и т. Д., Ваши локализованные знания не смогут предвидеть.
Если вы не можете увидеть этот код таким образом, вы, возможно, не лучший человек, который поддерживает устаревший код. Некоторые люди могут начать с пустого экрана и писать красивые программы, но не могут начать с большой кодовой базы кода других людей и поддерживать ее. Другие люди могут поддерживать код, но не могут начать с нуля. Некоторые могут сделать оба. Убедитесь, что правильные люди поддерживают ваш устаревший код.
Иногда вам может понадобиться перепроектировать и переписать устаревшую кодовую базу с нуля, когда бизнес (или другие) требования меняются до такой степени, что «тонкие настройки» просто не могут больше соответствовать измененным требованиям. , И в этот момент вы могли бы просто начать с написания нового документа о функциональных требованиях, чтобы убедиться, что все заинтересованные стороны включены. Это в основном совершенно новая игра в мяч.
Единственное >> неправильное <<, что нужно сделать, это попробовать относиться к обслуживанию устаревшего кода так же, как если бы вы начинали новую разработку. И эта неправильная вещь, кажется, является именно тем путем, по которому вы хотели бы пойти :) Поверьте мне на слово, это не то, что вы хотите сделать.