我正在尝试开始使用 Perlcritic,并且我正在改进我自己的配置,忽略所有我不同意或认为不适合我的规则。
我知道我可以使用 .perlcrirticrc 文件来做到这一点,并且我可以使用该文件中的 exclude 指令来排除我不同意的政策,但要做到这一点,我需要找到该政策的名称导致我想抑制的错误。
我无法在任何地方的 CPAN 文档中找到策略列表,并且错误消息没有给出正在生成的策略的名称,所以我完全不知道我应该如何生成我的排除列表。
如果有人能指出一种将错误映射到策略的方法,或者甚至只是指出核心中的策略列表,我将不胜感激!
最佳答案
根据 How do I make Perl::Critic show the offending policy in its output?,非常不直观的 --verbose 标志正是您想要的。
gdarcy@greg-pc:~$ perlcritic --verbose 8 src/Some/Module.pm
[TestingAndDebugging::RequireUseStrict] 在第 19 行第 1 列启用限制之前的代码。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 1899 行第 4 列不是词法的。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 1911 行第 4 列不是词法的。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 2487 行第 4 列不是词法的。(严重性:5)
[Variables::RequireLexicalLoopIterators] 循环迭代器在第 3902 行第 2 列不是词法的。(严重性:5)
关于Perlcritic 配置 - 查找生成错误的策略的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8184663/