2005年08月11日 19:45 [Edit]
Best Practices by Damian Conway
今回のOSCONで、ダントツに一番うまいプレゼンターだったのがDamian Conwayだった。
ほんと、博士号を持つPerl6の開発リーダーというより、Saturday Night Live のレギュラーなのではないかというぐらいの芸達者ぶりだ。
しかし、本書は至って真面目なPerlの作法本である。「芸がなきゃPerlじゃない」というぐらい、Perlの世界では、Larry Wallの薫陶もあってか、本にも芸が入っていることが多いが、この本の「生真面目」さはその中にあってはむしろ異様に目立つ。ラクダ本の抱腹絶倒を本書に期待しては行けない。本書はあくまで作法の本であって芸の本ではないのだ。Perlで笑うためにラクダ本を読み、Perlで泣かないために本書を読むという使い方がお薦め。
それで本書がカバーしている作法の領域だが、Perlに留まらず、実際にコードする前の心得から、エディタの設定まで多岐に及んでいる。「unlessとuntil厳禁」など、いつか納得できないものもあるが(この辺参照)、本書で取り上げられた256の作法は、ほとんどが納得できるものばかり。いくつかは私も気がつかなかったものもあり、経験10年以上の黒帯級ハッカーでも得るものは少なくない。ああ、これがかの社在籍中にあったら私はずいぶん楽ができたのに。
そんなDamianの台詞から一つだけ引用。
Your source code is a love letter to your future self.
Dan the Perl Practitioner
P.S 本書に関するDamianの講義は、芸だらけです。講義では必ず芸を見せてくれます。芸人Damianを見たい人は、是非講義に出ましょう。読者からのツッコミも歓迎です。例えば私はこんな感じのツッコミをしました。Damianの切り返しの見事なこと。ちゃっかり宣伝もしてるし。
- Damian:
- For array names, use plural. @items, not @item
- Dan:
- What if I want to name the variable "fish"? (Laughs by Audience)
- Damian:
- @fish. I would avoid using fish at all unless you want to make your code fishy (Laughs). If you have trouble finding plurals, use Lingua::EN::Inflect.
この記事へのトラックバックURL
取敢えず、実践してみたことは、Readonlyモジュールを使って定数を定義するようにしました(今まではconstantディレクティブを使っていて不満を感じていましたが)。私は大概CPANを見てるのですが、Readonlyなんてのがあること自体知りませんでした。こういう情報は本でないとなかなか見つからないと感じた次第です。