Perl 编程格式指南

时间:2007-05-25 02:28:26  来源:站长资讯收集整理  作者:佚名
1.0.0       P5EE 1 的首发版
1.0.1       P5EE 1.0的第二次发布版
1.0.10      P5EE 1.0的第二次发布版的第一次修正版
1.1.0       P5EE 1.1的首发版
2.0.0       P5EE 2 的首发版
版本号后面也可以跟一个连字符和一些文字,来表示特别的版本,或者给出额外的信息。例如 1.1.4-bender 注意,这是一个狂欢版 1.5.0-pre1 注意这不是最后的版本,而是预览版。 在perl5.6.0中,你可以使用象v2.0.0这样的版本,但是在前几版的perl是不允许的。所以要把一个tuple版本号转换成一个用$VERSION表示的版本号字符串,使用正常的整数来表示主修订号,三个数字来做版本号和三个数字来做子版本号。例如:

    1.1.6   ->      1.001006
    2.0.0   ->      2.000000
这样,perl就可以通过大于和小于比较两个版本字符串。 LinuxForum中有一篇关于 软件发行惯例 的中文译版:http://www.linuxforum.net/books/srp/Software-Release-Practice-HOWTO.html

注释

所有的代码都应该尽可能地具有可读性。所以,我们的代码中可以只包含一些对于不明朗内容的必要注释。于是,我们应该使用象‘$story_count’这样的名字,而不是这么做:

    # story count
    my $sc = 0;
也许要别人理解代码需要包含一些整齐的注释。有时一个简单的单行注释就可以解释后面代码的用途。另外,我们有时还需要对一个复杂的算法需要每行都要注释。Kernighan 和 Pike 写的《Practice of Programming》中关于注释的部分值得一看。

警告和严格语法

所有代码都必须使用‘use strict’和打开perl的-w选项来编译和运行。当然,如果你必须禁止 -w 或 strict 的使用,我们也是没有意见的。(实际上你真正需要这么做的机会将会很渺茫)。 有一个例外是“使用了未初始化的变量”警告,我们在P5EE.pm中禁掉了它,所以在你的代码中如何包含了“use P5EE”,那么你就不必担心这些警告了。

词汇范畴变量

只使用词汇范畴变量,除了一些特殊的全局变量($VERSION,%ENV,@ISA,$!等等)和一些极特殊的情况。把全局变量当成普通变量从来都是不恰当的,如有必要,使用“use vars”来声明全局变量,而不是使用our()函数(our()在perl5.6中有介绍)。 词汇范畴内的变量使用my()来创建。一个全局变量是预先存在的(如果他是一个特殊变量),或者当他被使用的时候就刚刚创建。local()被用来告诉perl为一个变量赋一个临时值。这应该只用于象$/这样的特殊变量,或者在特殊的环境中。如果你必须给某个全局变量赋值的话,那么你最好先考虑考虑是否需要用local()。 local()也可以用于数组或者哈希表中的元素,尽管这很不常用。

输出

默认情况下不要从模块中输入任何东西。你可以自由地在@EXPORT_OK中放入任何你想放的东西,这样你的模块的使用者就可以明确地请求这些符号。(例如:“use P5EE::Something qw(getFoo setFoo)”),但是不要默认地输出它们。

传递引用参数

方法要获取或者返回数组和哈希表的时候最好只使用其引用。注意列表和数组不是一回事。下面这样就很好:
上一篇:Perl基础指南

文章评论

共有 位CH网友发表了评论 查看完整内容