如何学习在Perl中编写结构良好的程序?

我已经开始学习Perl,但是我以前的编程经验大部分都是强调面向对象编程的语言,比如C#和 Java.我发现所有Perl的例子都是长时间的单一功能程序,我发现自己的写作代码是一样的.是否有任何资源或教程编写可维护的良好结构化程序?

解决方法

首先,无论您正在做什么样的Perl编程,您可能会发现 Perl::Critic是无价的.命令行工具是最方便的获取代码反馈,但您也可以在其中上传您的Perl代码并接收即时自动反馈.请注意,Perl :: Critic不会教你结构良好,但它有助于改善您的风格,并引导您远离一些常见的错误.

要与Perl :: Critic一起去,我建议您获得一份Perl Best Practices(PBP)的副本.它包含了Perl :: Critic所基于的很多详细信息.即使您不同意本书中的特定指南,也可以让您考虑如何编写代码,这非常有价值.你不必为一本书掏钱,但是两者相互恭维,而且您在PBP中会发现您将不会从Perl :: Critic获得冗长的讨论.

如果您已经使用其他OO语言和OO设计,那么您可能会发现Moose是一个舒适的过渡.麋鹿非常稳定,得到很好的支持,并拥有一个庞大而活跃的社区(尤其是通过IRC). Moose几乎取代了所有现有的OO Perl建议,包括我自己的.面向对象设计是常见的原因;很多项目都是有意义的,没有理由不在Perl中使用它.

就个人而言,当我转到测试驱动的开发模式时,我发现自己的程序结构有了很大的改进.在这样的模式下,将问题分解成小型,易于测试的部件至关重要.如果您刚刚在Perl中进行测试,那么从Test::Tutorial开始,如果您想了解更多,请查看其他testing resourcesbooks.使用像Devel::CoverDevel::NYTProf这样的工具来看看你的测试用例是什么,它们不是什么.具有难以测试的代码通常是结构不良的一个迹象.

说完这一切,最好的老师是参与一个现有的Perl项目与经验丰富的贡献者.看看他们如何做事情,当你做出贡献时,想想他们的建议.如果您想要一个真正的应用程序与真棒很酷的价值,似乎吸引了最好和最聪明的Perl社区,那么我建议参与Padre,the Perl editor.

如果(无论什么原因)您无法参与另一个项目,那么请考虑向Stack Overflow或PerlMonks等社区发布代码示例.更好的是,如果您可以使您的代码开放源代码,然后请求反馈.所有的编程语言都与其他熟悉他人的人更好地学习,Perl也不例外.

你可以用Perl做好魔法,

保罗

相关文章

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