在 Perl 中应用编码标准有什么好的自动化框架吗?

2023-11-23

我所知道的一个是Perl::评论家

到目前为止,我的多次尝试都没有结果。 :-(

这里有人有什么建议吗?

任何根据我们的编码标准配置 Perl::Critic 并在代码库上运行它的资源将不胜感激。


在设置个人资料方面,您尝试过吗perlcritic --profile-proto?这将以 perlcriticrc 格式向标准输出发送所有已安装的策略及其所有选项以及两者的描述,包括它们的默认值。保存并编辑以匹配您想要的内容。每当您升级 Perl::Critic 时,您可能需要再次运行此命令并与当前的 perlcriticrc 进行比较,以便您可以看到现有策略的任何更改并选择任何新策略。

在定期运行 perlcritic 方面,设置一个测试::Perl::评论家与其他测试一起进行测试。这对于新代码来说是有好处的。

对于您现有的代码,请使用测试::Perl::批评家::渐进式反而。 T::P::C::Progressive 将在您第一次运行时成功,但会保存违规次数计数;此后,如果任何计数上升,T::P::C::Progressive 将发出抱怨。需要注意的一件事是当您恢复源代码控制系统中的更改时。 (您正在使用一个,不是吗?)假设我签入更改并运行测试,我的更改减少了 P::C 违规的数量。后来发现我的改变很糟糕,所以我恢复到旧的代码。 T::P::C::Progressive 测试将由于计数减少而失败。此时最简单的方法是删除历史文件(默认位置 t/.perlcritic-history)并再次运行。它应该重现你的旧计数,你可以编写新的东西来再次降低它们。

Perl::Critic 有很多附带的策略,但是还有很多附加的策略发行版。看一下任务::Perl::Critic and 任务::Perl::Critic::包括可选依赖项.

您不需要让一个 perlcriticrc 处理您的所有代码。为要测试的每组文件创建单独的 perlcriticrc 文件,然后创建指向每个文件的单独测试。例如,请查看作者对 P::C 本身的测试:http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/。当运行作者测试时,有一个测试运行 P::C 的所有代码,第二个测试仅对策略应用附加规则,第三个测试批评 P::C 的测试。

我个人认为,每个人都应该以“残酷”的严厉程度来竞选,但淘汰他们不同意的政策。 Perl::Critic 并不完全自我兼容;甚至 P::C 开发人员也不同意 Conway 所说的一切。查看 Perl::Critic 本身使用的 perlcriticrc 文件,并在 Perl::Critic 代码中搜索“## no comment”的实例;我现在数了一下,有143个。

(是的,我是 Perl::Critic 开发人员之一。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Perl 中应用编码标准有什么好的自动化框架吗? 的相关文章

随机推荐