我有什么模块可以帮助我编写更好的代码吗?

har*_*pig 8 perl code-analysis

我正在使用以下命令来测试我的perl代码:

perl -MB :: Lint :: StrictOO -MO = Lint,all,oo -M-circular :: require -M-indirect -Mwarnings :: method -Mwarnings :: unused -c $ file

在perl版本低于5.10的系统上,我也使用uninit.

我也使用Perl :: Critic和Perl :: Tidy,并根据自己的喜好设置了合适的rc文件.

这些模块在帮助我打破首次学习perl时学到的一些坏习惯方面做得非常出色.

当我陷入困境时,还有更多的模块或pragma会让我恢复直线和狭窄吗?

使用测试,并指出了Test ::*系列模块和一些好书.这些新信息让我重新考虑了有关测试和代码技能构建之间关系的一些假设.这些都受到赞赏,并且已经在研究和投入使用.

在我看来,这些是整体的两个独立部分.'perl -c',Perl :: Critic和Perl :: Tidy在编写代码和执行代码之前都有所帮助.Devel :: Cover,Devel :: NYTProf和测试在执行代码期间和之后发生.

良好的开发决定了迭代过程,因此测试将会运行,代码会反复开发,但我们仍然存在这种分离.

在我看来,答案的重点是代码的"执行期间和执行后".再次,非常感谢.我可以假设我的'写作和预执行'部分很好吗?至少,就像pragma,模块和实用程序一样.

Dav*_*oss 4

我有点担心你使用的是 Perl 5.9。有两个原因。

首先它有点旧。5.9.0 于 2003 年发布,5.9.5(5.9.x 系列的最后一个版本)于 2007 年发布。从那时起,Perl 出现了多个高质量版本。

其次(也是最重要的),5.9 是 Perl 的一个不稳定的开发版本。5.9 基本上是最终导致 Perl 5.10.0 的一系列实验。使用它的唯一原因是测试 5.10 将是 Perl 的稳定版本。现在根本不应该有人使用它。