風(fēng)格

2018-02-24 16:03 更新

camelCase 很糟

你曾維護(hù)過別人的代碼嗎?你維護(hù)過像這樣的代碼嗎?

my $variableThatContainsData =
    someSubroutineThatMucksWithData( $someAwfulVariable );

混合大小寫單詞在 Perl 世界被稱為?camelCase,通常它的令人不悅之處是使 閱讀代碼更難。

甚至具有糟糕名稱的代碼使用下劃線也能變得更可讀:

my $variable_that_contains_data = 
    some_subroutine_that_mucks_with_data( $some_awful_variable );

warnings 和 strict

對(duì)于你希望維護(hù)、重用、及發(fā)布的任何程序,都應(yīng)當(dāng)具有下列代碼行:

#!/usr/bin/perl

use strict;
use warnings;

啟用?strict?使 Perl 抱怨不確定的代碼結(jié)構(gòu),比如:未聲明的變量、祼字、 以及軟引用等。這些警告將導(dǎo)致 Perl 執(zhí)行失敗。

#!/usr/bin/perl
use strict;

$foo    = 4;     # undeclared variable error
$foo    = Bar;   # bareword error
my $bat = "foo";
print $$bat;     # reference error

啟用?warnings?使 Perl 甚至抱怨更多東東。但不像?strict,這些抱怨在 一般條件下并不嚴(yán)重。

#!/usr/bin/perl
use warnings;
$a + 0;                      # void context warning
                             # name used once warning
                             # undef warning
print "program continued\n"; # prints

如果你想要?warnings?變得嚴(yán)重,告訴它:

use warnings FATAL => 'all';
$a + 0;                      # void warning and then exits
print "program continued\n"; # doesn't print

使用?perltidy?格式化 Perl 源代碼

選擇何種代碼風(fēng)格是仁者見仁,智者見智的事情。但重要的是保持風(fēng)格的一致性。 為了使格式化 Perl 源代碼更容易,你可以使用?Perl::Tidy?模塊隨付的?perltidy?工具。

例如,使用?Perl 最佳實(shí)踐?一書所推薦的風(fēng)格來格式化源代碼:

$ perltidy -pbp myprogram.pl -o myprogram.formated.pl
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)