问题标签 [perl-critic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl-critic - 使用 perl v5.8.8 在 centos 6.4 上安装 Perl-Critic-1.119
有没有办法使用 perl v5.8.8 在 centos 6.4 上安装 Perl-Critic-1.119,当我尝试使用 cpanm 时出现错误:
我无法升级 Perl。
perl - 我如何使用 Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers
我想使用模块 Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers仅在 .C 文件中检查幻数
如果我使用 Perl::Critic,我得到错误 Can't parse code: Unknown error parsing Perl document
如果我使用 Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers,我得到错误 Can't locate object method "new" via package "Perl::Critic"
perl - 让 Perl 警告我缺少未使用的函数
尽管使用了 -w,但上述运行没有错误,因为 no_such_func() 从未被调用。
如何让 Perl 检查我引用的所有函数/模块,即使是我不使用的?
在更现实的情况下,某些函数可能只在特殊情况下调用,但我仍然想确保它们存在。
编辑:我安装了 perlcritic,但我认为我仍然做错了什么。我创建了这个文件:
并且 perlcritic 说这很好(“来源 OK”)。静态分析肯定可以捕捉到 no_such_func() 的不存在吗?该程序也运行良好(并且不产生任何输出)。
perl - 将 IPC::Open3 与 perlcritic 一起使用
我想抑制子进程中的输出并只读stderr。perlfaq8建议执行以下操作:
但随后perlcritic
争论使用裸字文件句柄。
我唯一能设计的是将select
新打开的描述符/dev/null
改为 on STDOUT
,如下所示:
但是perlcritic
不喜欢使用 ofselect
。有更优雅的解决方案吗?
perl - perl 在脚本和 PerlCritic 中使用 bless self
我习惯于使用$self
for OO Perl,即使我只是编写独立的脚本而根本没有命名我的包。例如,我script.pl
会这样开始:
这些脚本有时会变成适当的模块,但有时我只是让它们如此。
这虽然违背了 Perl Critic of "One-argument blesses":
有没有一种简洁的方式来命名我的祝福,但仍然包含我的所有内容script.pl
?
perl - perl IPC:Open3 最小通过 perlcritic?
我正在阅读 perlcritic 文档以避免反引号并在此处使用 IPC::Open3:
http://perl-critic.stacka.to/pod/Perl/Critic/Policy/InputOutput/ProhibitBacktickOperators.html
我试图找到最不冗长的选项,它将起作用并满足 perlcritic:
但它抱怨以下错误:
有任何想法吗?
编辑:好的,这就是我所拥有的。除非有办法简化它,否则我会坚持这一点:
perl - 如何检测 Perl 条件中始终评估为假的不可达代码?
我是 Perl 新手,目前的任务是整理和维护一个庞大且非常混乱的 Perl 项目。我正在使用 perl-critic 来帮助我检测代码中的问题(并教我最佳实践)。
现有代码中有编码人员创建了无法访问的代码的地方。例如,他们添加了 '&& 0' 作为注释掉一些代码分支的懒惰方式:
我希望 perl 或 Critic 会在这种情况下警告我有关无法访问的代码(条件具有评估为 false 的常量值),但事实并非如此。
有没有我可以使用的工具或脚本可以可靠地检测到这种事情?
显然,我可以在源代码中搜索 '&& 0',但是除了将 '&& 0' 附加到 if 语句之外,编码器还可以通过多种方式创建无法访问的代码。
perl - Why am I *not* getting this warning: "variable masks earlier declaration"?
Here's my entire script, crafted to include two variable with the same name, one of which is masking the other:
If I run this script, I get this output, and noticeably no warnings:
If I remove the curly braces around the second $hi
variable so that is in the same scope as the first $hi
variable, I get this warning:
However, I want this warning even when the variable is not in the same scope. I want the warning every time a variable name is shadowing another. How can I enable this warning? Is there a Perl Critic policy that I can enable that will warn me about this?
perl - 如何从启用了 ProhibitExcessComplexity 的脚本运行 perl 评论家?
如何从Subroutines::ProhibitExcessComplexity
启用的脚本运行 Perl 评论家?我尝试了以下方法,但它没有标记复杂的 500+ 行子例程。我没有.perlcriticrc
(我也不希望有一个)
我的Perl::Critic
版本是1.116