• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Perl最佳实践第三章(命名规则)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

变量名采用 形容词_名词 的格式命名,多个单词之间用下划线分隔,比如

$next_record
$total_score
$root_node

对于查表的数组或者哈希,采用 xxx_of, xxx_for的命名方式,也就是在末端加上介词,比如。

my %title_of;
my %ISBN_for;
my @sales_from;

这种写法会使后面的代码可读性极好。

while (my $month = prompt -menu => $MONTH_NAMES) {
for my $book (@catalog) {
print "$ISBN_for{$book} $title_of{$book}: $sales_from[$month]\n";
}
}

对于子程序和方法而言,构成名称的文法规则如下

sub get_record
sub get_record_for

sub eat_cookie
sub eat_previous_cookie

sub build_profile
sub build_execution_profile
sub build_execution_profile_using

如此一来,后面的代码几乎不用加注释。

@config_options = get_record_for($next_client);

for my $option (@config_options) {
build_execution_profile_using($next_client, $option);
}

布尔值

一般以所测试的属性或断言作为命名依据,这也会使条件表达式读起来很自然,通常来讲,这些名称大多以is_或has_开头,当然也有例外,比如。

sub is_valid;
sub metadata_available_for;
sub has_end_tag;

my $loading_finished;
my $has_found_bad_record;

看看使用这种规则的代码可读性吧,如下,几乎是自注释的。

if (is_valid($next_record) && !$loading_finished) {
METADATA:
while (metadata_available_for($next_record)) {
pushu @metadata, get_metadata_for($next_record);
last METADATA if has_end_tag($next_record);
}
}
else {
$has_found_bad_record = 1;
}

引用变量

在引用变量的后面加上_ref,可以防止把引用变量当作普通变量使用。

数组和哈希

哈希通常以单数命名,后跟介词,前面已经讲过,而数组处则通常以复数命名。

下划线

名称的单词之间以下划线来分隔。

大小写

子程序,方法,变量,加标签的自变量都使用小写。

包和类名(IO::Controller)使用混合的大小写。

常量则使用大写($SRC, $ARG)。

实用子程序

在编写类或模块时,仅供内部使用而不导出的子程序,应该以下划线开头

==


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Linux下perl模块安装发布时间:2022-07-22
下一篇:
Perl标量的操作符发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap