Perl ::评论家:穆斯之后的生活?

时间:2008-09-18 13:21:13

标签: perl moose perl-critic perl-tidy

我已经开始将一个项目转换为Moose,我注意到的第一件事就是我的批评/整洁测试下地狱了。 Moose,Tidy和Critic似乎并不像以前那样喜欢对方。

是否有关于如何使批评/整理更加欣赏穆斯方言的文档?大多数Moose用户做什么?放松/放弃批评更重的Moose模块?自定义政策?

4 个答案:

答案 0 :(得分:15)

你见过Perl::Critic::Moose吗?

答案 1 :(得分:6)

可以将它们都配置为详细信息。

我不知道为什么perltidy不喜欢它,它与它无关。 Perltidy只管理风格。您可以在不更改任何功能的情况下更改代码的样式,这主要是空白的问题。您应该使用.perltidyrc文件更改样式或更改perltidy配置。

我不知道perlcritic有什么问题(也许左值方法?),但你可以考虑使用.perlcriticrc文件关闭那些特定的策略。此外,如果你的perlcritic是旧的,你可能想要升级它,因为一些旧的版本在Moose类中给出了一些不正确的错误。

答案 2 :(得分:6)

早期版本的Perl :: Critic的“使用严格”政策并未发现 Moose为您提供严格要求,但如果升级则会修复 Perl的::评论家。

我和Moose一起使用Perl :: Critic和Perl :: Tidy,我看不到 特别破碎的东西。好吧,实际上,我不能得到Perl :: Tidy 正确布局这样的事情:

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

Tidy坚持认为(并且{是两个开放水平的缩进, 它看起来很愚蠢:

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

但我们以前遇到过这个问题;项目中的编码惯例 是为命名参数使用hashref而不是hash。所以事实并非如此 真的是与Moose有关的问题。

你的症状究竟是什么?

/ J

答案 3 :(得分:3)

我对Critic测试没有任何问题 - 诚然,我在严重性= 3时运行,至少部分是因为我必须使用的一些遗留代码是我没有/时间/整洁,但是我的驼鹿通过那些东西航行。