Perlのオブジェクト指向の1実装である「Moose」にトライしました。
バージョンは最新の1.02です。
なお、Linux版(CentOS 5.4 64bit上)でもStrawberry Perl版(WindowsのCygwin上)でも利用できます。
社員のKさんが最近書いた関数指向のあるPerlスクリプトを利用しました。
このスクリプトは仕事で実際に利用されていて動作確認ができていますし、データベース接続やファイルの操作、外部プログラムの実行など一通り業務で必要な機能が実装されているため選びました。
現在進行中のプロジェクトで利用しているスクリプトなので、詳細を覚えているという理由もありますが・・・。
Moose化(オブジェクト指向化)に一番参考にした参考書はモダンPerl入門 (CodeZine BOOKS)です。
他には、Mooseの本家が良いですね。
結果ですが、スクリプトが非常に読みやすくなりました。
スクリプト内で利用する変数に対して、型や書き込み権限を厳密に指定できるので、メンテナンス性の向上やバグの混入リスクの低減というメリットがあります。
処理の流れもわかりやすくなりましたし、Webアプリケーションに実装する際にも継承を利用して比較的簡単に作成できそうです。
次の課題は、「モダンPerl入門」でも紹介されている「テストの徹底的な実装」です。ある程度はテストスクリプトを書いていますが、体系的な実装のノウハウが紹介されていたので、試したいとおもいます。
余談ですが、Strawberry Perlはすごいですね!
最初から主要なモジュールはインストール済みですが、コンパイラもついているので、コンパイルが必要なモジュールも特に問題なくインストールすることができました。
Mooseをインストールするには、以下のコマンドだけです。
# cpan Moose
う~ん、便利!
コメント