• ベストアンサー

perlのプログラミングセンスを磨くには

C言語とperlを独学し、1000行程度のperlのコードを書けるようになりました。 ですが自分の書いたコードは 似たようなサブルーチンが何回も出てきたり、後から付け足したコードをあちこちにツギハギしたり、いわゆるグローバル変数を多用したりと、自分で見てもあまりセンスが感じられません。 そのため見た目に分かりづらく、メンテナンスもしにくくなってしまっています。 他の方が書かれたコードをダウンロードして見てみたりしていますが、なかなか上達できません。 センスのいいコードを書くには、個々の関数の働きがどうこうよりも、もっとマクロな視点で全体の構造やメンテナンス性に注目すべきだと思うのですが、この観点でプログラミングを解説したサイト、あるいは書籍をご紹介頂けないでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hara_peko
  • ベストアンサー率28% (11/38)
回答No.1

私自身は読んだこと無いのですが・・・ 「Perlプログラミング救命病棟」 メーリングリストか何かで薦められていたのをみたことがあります。

参考URL:
http://www.7andy.jp/books/detail?accd=31587608
schwer
質問者

お礼

ご回答ありがとうございます。 なかなか興味深い書籍ですね。 診断によってプログラミングの質が客観的に把握できるのもいいです。 取り寄せてみます。

その他の回答 (2)

回答No.3

プログラミングPerl 第3版 http://www.oreilly.co.jp/books/4873110963/ http://www.oreilly.co.jp/books/4873110971/ この本はちょっと前のバージョンのPerlについて全部書いてありますので、是非ともあった方がいい本なのですが、最新の Perl 5.8 については書いてなくて、値段が妙に高い(2冊で1万円超える)のが玉に瑕といった感じです。ただ5.8との違いはあまり大きくないと思うので足りないことについてはコマンドラインから perldoc で英語ドキュメントを出して読むかインターネットで検索して英語または日本語訳されたドキュメントを探せばいいのではないかと思います。

schwer
質問者

お礼

ご回答ありがとうございます。 本屋に行って立ち読みしてみましたが、そのボリュームの多さに圧倒されてしまいました。 読み解くだけでもかなりのパワーが必要になりそうですが、財布と相談しつつ購入を検討してみます。

回答No.2

まず、グローバル変数を多用していると言うことで、オブジェクト指向による記法をマスターされていないものと想像します。 昔CGIによって広まってしまった古き悪しきperlコードからの脱却は、「use strictはかならずつけ、perlのOOPの手法を学ぶ」がまず必須です。OOPに関しては、以下のドキュメントの和訳はいかがでしょう? http://perldoc.jp/docs/perl/5.8.0/perltoot.pod 後、perlでの部品化の本は少ないので、javaやデザインパターンの書籍が役に立つと思います。それらをperlでどうコーディングするかを考えると、一気に上達するはずです。 オブジェクト指向は万能ではありませんが、よい部品化のヒントには十分なりうると思います。

schwer
質問者

お礼

ご回答ありがとうございます。 確かにオブジェクト指向による記法はマスターしておりません。 やはりOOPの手法が私には必要な様ですね。 参考URLの内容を読解しつつ、デザインパターンの書籍を探してみます。

関連するQ&A