Perl 变量命名规则

perl中变量命名规则

变量命名规则:


1.不要与perl中的内置变量名相同如:%ARGV,$a,$b $_ 等等

2.perl中的变量名严格区分大小写

3.建议使用大字母,小写字母,数字,下划线组合命名变量名。其他特殊字符。

attachments-2018-12-S0rSGshn5c2084b88700a.jpg

变量命名示例

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

$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)。

实用子程序

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

  • 发表于 2018-12-24 15:00
  • 阅读 ( 4393 )
  • 分类:perl

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

658 篇文章

作家榜 »

  1. omicsgene 658 文章
  2. 安生水 328 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. 红橙子 78 文章
  6. CORNERSTONE 72 文章
  7. xun 68 文章
  8. rzx 67 文章