我已经开始将一个项目转换为Moose,我注意到的第一件事就是我的批评/整洁测试下地狱了。 Moose,Tidy和Critic似乎并不像以前那样喜欢对方。
是否有关于如何使批评/整理更加欣赏穆斯方言的文档?大多数Moose用户做什么?放松/放弃批评更重的Moose模块?自定义政策?
答案 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时运行,至少部分是因为我必须使用的一些遗留代码是我没有/时间/整洁,但是我的驼鹿通过那些东西航行。