Я, як і я, був і виробником, і зберігачем спадкового коду. Якщо ваш інструмент генерує "тисячі порушень" (або навіть сотні з цього приводу), забудьте про інструмент, це не застосовується до ситуації ...
Я припускаю, що оригінальні розробники вже давно не доступні для обговорення. Тож ніхто не знає, хто розуміє, чому і чому це стиль дизайну та кодування. Виправлення сотень чи тисяч порушень не буде справою переписування декількох рядків коду тут і там. Натомість, це, безперечно, вимагає рефакторингу / повторного функціонування-розкладання. Ви намагаєтеся зробити це на будь-якій великій існуючій кодовій базі, не чітко розуміючи її сучасний дизайн, і ви зобов’язані представити цілий новий набір помилок / проблем / тощо. Просто нова банка глистів навіть гірша, ніж у вас зараз (або гірше, ніж ваш інструмент >> думає, що у вас є <<).
Єдиним розумним підходом до вирішення "тисяч порушень" було б переписання з нуля. Довгі та дорогі зусилля та майже неможливо продати керівництву. І в цьому випадку вони, мабуть, праві ...
Спадковий код зазвичай вимагає налаштування. Як для y2k, або коли акції перейшли з 256-го на десятковий. Я зробив навантаження обох, що cr * p. І багато іншого подібного. Зазвичай це досить «чітка точка» в тому, що ви можете «прочитати» іноді поганий стиль, поганий функціональний розклад, поганий тощо, і знайти колекцію місць, які потрібно змінити. І тоді те, що відбувається "між тими місцями", тобто, що є більш високим потоком, може залишатися для вас загадкою. Просто переконайтеся, що ви розумієте локалізовану функціональність, яку ви змінюєте, а потім протестуйте, тестуйте, перевіряйте на наявність будь-яких побічних ефектів тощо, ваші локалізовані знання не зможуть передбачити.
Якщо ви не можете бачити свій шлях через такий код, то, можливо, ви не найкраща людина для збереження спадкового коду. Деякі люди можуть починати з порожнього екрана і писати прекрасні програми, але не можуть починати з великої кодової бази коду інших людей і підтримувати її. Інші люди можуть підтримувати код, але не можуть почати з нуля. Деякі можуть зробити і те, і інше. Переконайтеся, що правильні люди підтримують ваш застарілий код.
Випадкові періоди, коли ви можете переробити і переписати свою застарілу базу коду з нуля - це коли ділові (або інші) вимоги змінюються настільки, що штани "штанів" просто не можуть відповідати зміненим вимогам більше . І в цей момент ви можете просто почати, в першу чергу написавши новий документ про функціональні вимоги, переконавшись, що всі зацікавлені сторони знаходяться на борту. В основному це абсолютно новий бал.
Єдиний >> неправильний << предмет, який потрібно зробити, - це спробувати поводитись із підтримкою застарілого коду так само, як і в новій розробці. І ця одна неправильна річ, здається, є саме тим шляхом, яким ви хотіли б піти :) Візьміть моє слово, це не те, що ви хочете зробити.