您好,登錄后才能下訂單哦!
小編給大家分享一下Perl 變量命名規(guī)則有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
perl中變量命名規(guī)則
1.不要與perl中的內(nèi)置變量名相同如:%ARGV,$a,$b $_ 等等
2.perl中的變量名嚴(yán)格區(qū)分大小寫
3.建議使用大字母,小寫字母,數(shù)字,下劃線組合命名變量名。其他特殊字符。
變量名采用 形容詞_名詞 的格式命名,多個單詞之間用下劃線分隔,比如
$next_record $total_score $root_node
對于查表的數(shù)組或者哈希,采用 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"; } }
對于子程序和方法而言,構(gòu)成名稱的文法規(guī)則如下
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); }
一般以所測試的屬性或斷言作為命名依據(jù),這也會使條件表達(dá)式讀起來很自然,通常來講,這些名稱大多以is_或has_開頭,當(dāng)然也有例外,比如。
sub is_valid; sub metadata_available_for; sub has_end_tag; my $loading_finished; my $has_found_bad_record;
看看使用這種規(guī)則的代碼可讀性吧,如下,幾乎是自注釋的。
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,可以防止把引用變量當(dāng)作普通變量使用。
哈希通常以單數(shù)命名,后跟介詞,前面已經(jīng)講過,而數(shù)組處則通常以復(fù)數(shù)命名。
名稱的單詞之間以下劃線來分隔。
子程序,方法,變量,加標(biāo)簽的自變量都使用小寫。
包和類名(IO::Controller)使用混合的大小寫。
常量則使用大寫($SRC, $ARG)。
在編寫類或模塊時,僅供內(nèi)部使用而不導(dǎo)出的子程序,應(yīng)該以下劃線開頭
以上是“Perl 變量命名規(guī)則有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。