Подтвердить что ты не робот

Perl:: Критик: Жизнь после Муса?

Я начал конвертировать проект в Moose, и первое, что я заметил, было то, что мои тесты с критикой/опцией попадают в ад. Лось, Тиди и Критик не похожи друг на друга так сильно, как раньше.

Есть ли где-нибудь документы о том, как заставить критика/порядок больше ценить диалект Муз? Что делают большинство пользователей Moose? Расслабьтесь/критику критиков за более тяжелые модули Moose? Пользовательские политики?

4b9b3361

Ответ 2

Оба они могут быть сконфигурированы в деталях.

Я понятия не имею, почему perltidy не понравится, он не имеет к этому никакого отношения. Perltidy управляет только стилем. Вы можете изменить стиль своего кода, не изменяя никаких функциональных возможностей, но в основном это вопрос пробела. Вы должны либо изменить свой стиль, либо изменить конфигурацию perltidy, используя файл .perltidyrc.

Я не знаю, с какими проблемами может столкнуться perlcritic (возможно, методы lvalue?), но вы можете рассмотреть возможность отключения этих определенных политик с использованием файла .perlcriticrc. Кроме того, если ваш perlcritic старый, вы можете его обновить, поскольку некоторые старые версии дали некоторые неправильные ошибки в классах Moose.

Ответ 3

Более ранние версии Perl:: Critic "использовать строгую" политику не знали о Moose позволяет вам строго, но это будет исправлено, если вы обновите Perl:: Критик.

Я использую Perl:: Critic и Perl:: Tidy с Moose, и я не вижу ничего особенного. Ну, на самом деле, я не могу получить Perl:: Tidy для правильной компоновки таких вещей:

my $apple = Apple->new({
    color => "red",
    type  => "delicious",
});

Tidy будет настаивать на том, что (и {два начальных уровня отступов, и он просто будет выглядеть глупо:

my $apple = Apple->new({
        color => "red",
        type  => "delicious",
});

Но у нас была эта проблема раньше; конвенция кодирования в проекте заключается в использовании hashref, а не хеша, для именованных параметров. Так что это не действительно проблема, связанная с лосями как таковая.

Каковы ваши симптомы?

/J

Ответ 4

У меня нет проблем с критическими тестами - по общему признанию, я бегаю с серьезностью = 3, по крайней мере отчасти потому, что некоторые из того, с чем мне приходится работать, - это устаревший код, который у меня нет/время/для приведения в порядок, но мой Moose вещи паруса через это.