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

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

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

4 ответа

Вы видели Perl:: Critic:: Moose?

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

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

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

В более ранних версиях политики "использовать строгий" в Perl::Critic не было информации о том, чтобы Moose включал для вас строгий режим, но это будет исправлено в случае обновления Perl::Critic.

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

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

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

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

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

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

/ Дж

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

Другие вопросы по тегам