Perl 编程格式指南

时间:2007-05-25 02:28:26  来源:站长资讯收集整理  作者:佚名

系统调用

永远都要在系统调用后检查返回值。包括 open(),close(),mkdir() 或者其他直接面对系统的对话。perl内置的系统调用都会把错误信息返回到$!;模块中的一些方法可能会将错误返回到$@或者其他地方,如果你不知道的话就去查模块的文档。永远要这么做,哪怕只是调用一个 errorLog(),当返回的值不是你期望那样的时候。

样式

很多样式的描述都是取自perl样式man文档。我们在这里做了一些改动,但读一读那些文档也是个不错的主意。

术语

P5EE项目的名字叫做“P5EE”,并没有“P5EE1”或者“P5EE2”,要说明版本的话,使用“P5EE 2.0”或者“P5EE2.0.1”。 函数’与‘子程序’与‘方法’的区别: *‘方法’应该只用于指向对象方法或者类的方法;也就是那些使用面向对象编程的,第一个参数是对象或者是类的函数。通常意义上的*‘子程序’,它们不是对象或者类的方法,而是函数。类中创建和返回对象的方法称为构造器。

名字

不要使用一个字符的变量,除非是迭代中的指示变量。也不要使用两个字符的变量,这和使用一个字符的变量没区别。常量全部都大写;这些是在整个程序中都不会变化的变量。

    $Minimum = 10;          # 错
    $MAXIMUM = 50;          # 对
其他变量小写,用下划线来连接单词。这些单词通常都用名词(一般都是单数名词),除非变量被用来指示某些动作的标记,那么这些变量的名字可以使用描述该动作的动词(或者是动名词)。

    $thisVar      = 'foo';  # 错
    $this_var     = 'foo';  # 对
    $work_hard    = 1;      # 对,动词,布尔类型的标记
    $running_fast = 0;      # 对,动名词,布尔类型的标记
数组和哈希应该是复数的名词,不管是正常的数组和哈希还是数组引用和哈希引用。不要给引用命名为ref或者将其类型加入到名字当中。

    @stories     = (1, 2, 3);      # 对
    $comment_ref = [4, 5, 6];      # 错
    $comments    = [4, 5, 6];      # 对
    $comment     = $comments->[0]; # 对
让名字易理解。不要使用象$sc这样的名字,你应该用“$story_count”。 方法和函数(除了那些特殊情况,比如AUTOLOAD)应该由动词开头,然后后面跟着完成动作的词汇。词组组成的名字应该全部小写,并用下划线来连接单词,为了跟‘perl样式’指导还有那些CPAN上大部分模块保持一致。这些方法应该尽可能地描绘出它要执行什么,和它要返回什么数据。

    $obj->getStory();             # 错
    $obj->setStoryByName();       # 又错了
    $obj->getStoryByID();         # 还是错!这不是Java!

    $obj->get_story();            # 对
    $obj->set_story_by_name();    # 对
    $obj->get_story_by_id();      # 对
以下划线开头的方法和函数是特殊的:它们在当前文件之外是无法使用的。(也就是‘private’--私有的)。但这不是代码本身强制要求的,而只是编程人员的习惯而已。 对于大的for循环结构,不要使用$_,而是用具名的变量。不要用$_(或者假想它)除非你非常明确是怎么回事,或者需要它的时候(比如在map()和grep()中)。
上一篇:Perl基础指南

文章评论

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