В настоящее время я работаю над 15-летним веб-приложением.Очистка огромного Perl Codebase
Он содержит в основном CGI перл скрипты с HTML :: Template шаблоны.
Имеет более 12 000 файлов и примерно 260 МБ общего кода. Я считаю, что не более 1500 perl-скриптов необходимы, и я хочу избавиться от всего неиспользуемого кода.
Для кода не существует тестов.
Мои вопросы:
- Вы в курсе любого модуля CPAN, который может помочь мне получить список только
use
d- иrequire
д модулей? - Каким будет ваш подход, если вы хотите избавиться от всего лишнего кода?
Я думал, на следующих подходах:
- попытаться переопределить
use
иrequire
перл встроенных команд с тех, что выход загруженного имени файла в определенном месте - переопределять значение
warnings
и/илиstrict
модулиimport
функции и вывести имя файла в определенном месте - изучить модуль perl модуля
Devel::Cover
и использовать тот же подход и проанализировать c ода, делая ручное тестирование вместо автоматических тестов - заменить PERL исполняемый файл с пользовательской один, который будет регистрировать каждое имя файла он читает (я не знаю, как сделать это еще)
- некоторое творческое использование
lsof
(?!?)
Мой подход заключается в том, чтобы начать писать тесты перед тем, как прикоснуться к любому коду, как всегда, когда выполняете основное обслуживание. –
Мои оценки заключаются в том, что 80% кода не используется/не требуется - в финансовом плане невозможно написать тесты для всего кода. –
@TudorConstantin - не записывайте модульные тесты для КОДА. Напишите функциональные тесты для использования приложений. – DVK