【发布时间】:2014-01-02 11:26:26
【问题描述】:
当我将哈希引用传递给子例程时,分配哈希引用参数的变量的良好命名约定是什么?
在下面的示例中,更好的选择是什么:
- 使用与原始变量相同的变量名(并让 Perl 将原始变量隐藏在块中)。
- 为子例程中的哈希引用想出一个新名称?
我倾向于使用选项 1,因为相同哈希引用的新名称感觉多余。
如果选项 2 更好,那么子例程中的变量的良好命名约定是什么?
## example:
use strict;
use warnings;
my $href_phone_book = generate_phone_book();
my $phone_number = get_phone_number($href_phone_book, "john");
print $phone_number."\n";
sub generate_phone_book {
my %phone_book = (
john => "5554321",
alice => "5551234"
);
return \%phone_book;
}
sub get_phone_number{
# Is it OK to hide the original variable
my $href_phone_book = shift;
# Or should I use a new variable name? What would then be a good naming convention?
my $person = shift;
my $phone_number = $href_phone_book->{$person};
return $phone_number;
}
【问题讨论】: