我已经开始将一个项目转换为 Moose,我注意到的第一件事是我的批评/整洁测试陷入困境。Moose、Tidy 和 Critic 似乎不像以前那么喜欢彼此了。
是否有关于如何让评论家/整洁者更欣赏驼鹿方言的文档?大多数 Moose 用户都做什么?为更重的 Moose 模块放松/放弃评论家?自定义政策?
我已经开始将一个项目转换为 Moose,我注意到的第一件事是我的批评/整洁测试陷入困境。Moose、Tidy 和 Critic 似乎不像以前那么喜欢彼此了。
是否有关于如何让评论家/整洁者更欣赏驼鹿方言的文档?大多数 Moose 用户都做什么?为更重的 Moose 模块放松/放弃评论家?自定义政策?
你见过Perl::Critic::Moose吗?
两者都可以进行详细配置。
我不知道为什么 perltidy 不喜欢它,它与它无关。Perltidy 只控制风格。您可以在不更改任何功能的情况下更改代码的样式,这实际上主要是空格问题。您应该更改样式或使用 .perltidyrc 文件更改 perltidy 配置。
我不知道 perlcritic 有什么问题(也许是左值方法?),但您可以考虑使用 .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",
});
但是我们以前遇到过这个问题;项目中的编码约定是对命名参数使用 hashref,而不是 hash。因此,这并不是真正与 Moose 相关的问题。
你的具体症状是什么?
/J
我对 Critic 测试没有任何问题 - 诚然,我以 Severity=3 运行,至少部分原因是我必须处理的一些遗留代码是我没有 /time/ 来整理的,但是我的 Moose 东西可以通过那。