В своем проекте я в настоящее время готовлю пошаговый переход от устаревшего кода к новым, правильно разработанным и протестированным модулям. Поскольку не каждый коллега-программист внимательно следит за тем, что я делаю, я хотел бы выдавать предупреждения, когда используется старый код. Я бы также настоятельно предпочел иметь возможность выводить рекомендации о том, как портировать старый код.
Я нашел два способа сделать это:
Attribute::Deprecated, что хорошо для функций, но довольно громоздко, если полный модуль устарел. Кроме того, никакой дополнительной информации, кроме предупреждений.
Perl::Critic::Policy::Modules::ProhibitEvilModules
для модулей или, может быть, пользовательское правилоPerl::Critic
для более точного устаревания на уровне функций или методов. Этот метод хорош, но из самого кода не сразу видно, что он устарел.
Любые другие предложения или приемы, как сделать это правильно и легко?