blog20100901

2013/08/20 - プログラミング言語 Perl にまつわる etc. - Perl monger
参考 : perldoc, perldoc.jp, search.cpan.org, perldoc.perl.org ...
「 初めての Perl 第 6 版 」(オライリー・ジャパン発行 ISBN978-4-87311-567-2) 」
「 続・初めての Perl 改訂版 」(オライリー・ジャパン発行 ISBN4-87311-305-9) 」
「 Effective Perl 第 2 版 」(翔泳社発行 ISBN978-4-7981-3981-4) 」 ... etc,.

Perl Perl_0

Perl 「 識別子 」と変数名 (0x09)

Perl 「 識別子 」と変数名 (0x09)

Perl について、復習を兼ねて断片的な情報を掲載して行く連載その 0x09 回。

今回は、識別子に使える文字と、そこからくる変数名の付け方について。




Perl 識別子



Perl で変数名等につける名前を識別子といいます。

識別子は、その他の記述と識別するための文字列です。

使える文字は英字・数字、それと下線 (Under score) です。ただし、数字を先頭の文字にすることは禁止されています。

英字は大文字・小文字が区別されます。

例えば以下のスカラ変数はすべて別の変数として認識されます。


$scalar
$Scalar
$SCALAR



変数に名前を付ける



変数に名前を付ける場合は、その用途を連想できる様な名前が推奨されています。

例えば、文字列を扱う変数なら、$a よりも $string の方が分かりやすいですし、カウントを数えたい時は $c とするより $count とした方が分かりやすいからです。

大文字の変数名も利用も出来ますが、通常の変数名には小文字を使った方が良い様です。

Perl で ($ARGV の様な) 大文字だけの変数名は、大抵の場合それが特別な変数であることを意味するからです。

また、 UTF-8 プラグマという機能を有効にしておくと、ASCII 文字以外の広範囲な文字を識別子に使える様になるそうです。

複数の言葉を繋げたい場合は _ (Under score) が活躍します。

変数名を $underscore とするよりも $under_score とした方が可読性が高くなります。

この様にアンダースコアを使った書き方を「スネークケース」と言うそうですが、言わないとする流派もある様です。

これとは別に「キャメルケース」という書き方もあります。

$camelcase を $CamelCase と書きます。大文字と小文字のデコボコで可読性を確保する方法です。

キャメルケースが読みやすいとは思えない僕はスネークケースが好みです。

「読みやすいとは思えない」のは初見から続く個人的な感覚ですが、Wikipedia の「キャメルケース」のページで、僕の感覚を補足する様なヒントを見つけました。

近年のキャメルケースで、日本語話者が日常生活の中で目にするものには、商品名が多い。PlayStationやiPodなどがその例である。


商品名の表記方法は、商業的に考えて、出来るだけ印象深い方法を採用するはずですので、商品名にキャメルケースが選ばれるということは、キャメルケースはどちらかというと印象深い表記方法なんだと読み取れます。

翻って、プログラムのソースコードには、変数名や関数名がたくさん書かれています。

これをそれぞれ印象深いキャメルケースで書かかれると、必然的に各個文字列の主張が強くなります。僕はそれを騒がしいものと感じて、読みづらいと思うのです。

* 「印象深い」かどうかは、市場に対する割合で変動するものだとは思いますが、あえて不自然とすることも印象を深くするための手法だと思っているので、あるはずのスペースを打ち消すキャメルケースの手法は、そういう部分でも、「印象深いけど読みやすくはない」と思っています。

プログラミング言語によってベースになる記法がある様ですが、幸運にも Perl はスネークケースを基本としています (だからといって、キャメルケースを禁止しているわけではありません)。Java や C# はキャメルケースだそうです。

いずれにせよ、一定の規則に従って、意味が通りやすい命名を心がけるべきだということです。

例え他人に見せることはないとしても、「3 ヶ月前のじぶんはもはや他人だ」という様な話もありますので気を付けましょう。


0x09-> 0x0a へ



第 9 回が終わったので、次は第 10 回だ。 2 桁回に突入だ。と勇んでいたら、回数表記が 16 進数だったことに気付いたでござる。

参考情報は以下の書籍を中心に Wikipedia および各 Web サイト。それと詳しい先輩。

参考 :「Randal L. Schwartz, brian d foy, Tom Phoenix 共著 近藤 嘉雪 訳「初めての Perl 第 6 版」(オライリー・ジャパン発行 ISBN978-4-87311-567-2)」

次回 (0x0a) へ続く。

過去記事 RSS










同じカテゴリー(Perl)の記事
 Perl mp2 翻訳 Web コンテンツ圧縮の FAQ (d228) (2023-10-11 23:49)
 Perl mp2 翻訳 既知のブラウザのバグの回避策をいくつか (d227) (2023-05-26 15:41)
 Perl mp2 翻訳 Perl と Apache でのキュートなトリック (d226) (2023-05-19 17:05)
 Perl mp2 翻訳 テンプレートシステムの選択 (d225) (2022-08-15 22:23)
 Perl mp2 翻訳 大規模 E コマースサイトの構築 (d224) (2022-06-15 20:43)
 Perl mp2 翻訳 チュートリアル (d223) (2022-06-15 20:42)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

Llama
リャマ
TI-DA
てぃーだブログ
プロフィール
セラ (perlackline)
セラ (perlackline)
QRコード
QRCODE
オーナーへメッセージ

PAGE TOP ▲