perl – 我是否缺少任何模块来帮助我编写更好的代码?

我正在使用以下命令来测试我的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,模块和实用程序一样.

解决方法

我有点担心你使用的是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的稳定版本.现在没有人应该使用它.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...