初心者のPerl。変数やサブルーチンの命名

IGU

2010年02月12日 21:50

ここのところ、お仕事でずっとPerlのスクリプトを書いています。
Perlとは、ワリと簡単に書ける、一種のプログラム。

ホームページ上の様々なサービスを実現できる言語で、このサイトで配布しているコメプロ等も、全てPerlで動いています。

と、このへんの話を始めると難しくなるので、本題。


だいぶ前に読んだ
[ソフト開発]きれいなソースコードを書くために必要な、たったひとつの単純な事
という記事。

これを実践するようにしてから、だいぶ変化があったので、その紹介。
Perlをやる人も、そうでない人も、必読です。


内容を簡単に言うと、プログラムの全ての「処理に名前を付ける」「処理内容を明確にする」事を、とにかく徹底する。すると必然的に、それぞれの処理がシンプルに、分かりやすくなります。

実際にこれを心がけて書いていくと、確かに効果を実感。


Perlでも、変数やサブルーチン等、処理にいろいろな名前を振って、コードを書いていきます。
表記にはアルファベットしか使えないので(メモや注釈等は日本語可)、急いでいる時など、一度しか使わない名前に「$tmp1」などと適当な名前を付けがち…。

で、半年くらいして見返すと、どこでどんな処理をしているのか、自分でも分からないカオス(混沌)状態になる事がしばしば(笑)。

これはイカン。と常々思っていたのですが、この記事を読んで納得。


直後から、スクリプトを書く際は、必ずアルクで単語を英訳して、ふさわしい名前を付けるように注意しています。

おかげで、ここ半年以内のソースは、可読性が上がって、修正や改造、転用が非常に楽になってきています。これは絶対にお勧め!
他にも、いくつか気が付いたコツがあるので、そのうち書いていきますね。


▲作りかけの一例。



ちなみに、沖縄のオジサンは、「ダーッ、アレしなさい!」「ダッ! なんていったっけ、アレ、ほら、ダーッ!」など、固有名詞を「だ行」に置き換える習性があります。

僕も、最近は人の事を言えなくなって来ていますが…(笑)。


日常の生活の中で、僕らはいろいろな言葉を省略しています。
ペプシもコカコーラも「コーラー(沖縄風)」だし、朱色もエンジ色もフェラーリレッドも、赤瓦も夕日も、全部「赤」。

会話だって省略しちゃいます。
「明かりを付けて」は、「ダーッ、暗い、付けよう」に置き換え可能 (って、最初より長いケド 笑)。


これらもきっと、正しい表現を意識すると、美しく、分かりやすい意志の伝達ができるのかもしれません。

…このように、プログラムだけではなく、話す言葉や、文章を書くときにも、対象を明確に意識することは、同じように大切な気がします。もしかして、アウトプットに関する、普遍的な「コツ」なのではないでしょうか。

混沌の中にあって、それでも一条の光を求めたい。
「ダーッ、さっき紹介したアレ」… は、そんな気持ちにさせてくれるのです。

関連記事