2007 12 23

くるくるぱーる

時間もあるし、rubyの勉強でもするか。 そう思い立ったのが先月の半ば頃。 ざっと文法を調べて、何か作ってみることを考える。 何を作るかな。 手っ取り早そうだから、昔perlで作ったCGIのいくつかを移植するか。

そして、この日記とかの昔作った(今も動いている)ソースコードをあらためて読む。 あー…これは…全部書き直そう。 まずは、いかにもスクリプトですといったたたずまいのこいつらを、今の俺がそれなりにでも満足する形に書き直そう。 再利用性とか生産性とかを、もうちょっとちゃんと考えてみよう。 rubyへの移植はその後だ。 そう決心したのが先月末。

ちゃんと考えてみようとは思ったが、だからと言って、仕事でやるように最初から最後までを考えて方針を立てたりするのは止めよう。 そーゆーのは疲れるし、やってて面白くないし。 ちょっと考えて思いついたものを、とりあえず作ってみる。 そこでまたちょっと考えて、気になったところを修正してみる。 多分、なかなか進まない。 時には後戻りするかもしれない。 ぐるっと回って、結局最初の形に落ち着くのかもしれない。 でも、そーゆー試行錯誤が楽しいんだよな。 と、あっという間に志を下方修正した翌日。

そして改造作業開始。

まずは、同じような処理があっちこっちにあるのを、共通ライブラリ化してみた。

今一つすっきりしないので、共通ライブラリは生かしながらも、オブジェクト指向風味にしてみた。

ブラウザからの送信値を取り込み、処理をし、処理結果をブラウザに返す。 この流れはどれも同じなので、テンプレートクラスを作り、個別の処理はそれを継承したクラスで実装するようにしてみた。

途中の処理経路が違うけど同じ画面とか、同じ処理経路の結果で違う画面とか、いろいろ混在すると汚くなって駄目っぽい。 テンプレートの実装からやり直し。

テンプレートは止め。 処理の流れと各処理用にロードするオブジェクトを設定ファイルに定義し、これに従って処理を進めるコントローラーを作ってみた。

設定ファイルに定義するのを、全体的な処理の流れではなく、個別の処理とその結果に対応する遷移先という形にしてみた。 struts-configみたいになった。

設定ファイルを読んだりパースしたりするのが無駄っぽいので、設定をハッシュと配列の組み合わせでpmに実装してみた。

かなりすっきりしてきところで、今度はオブジェクトやメソッドの名前が気になってきた。 ←いまここ

そんなお気楽な毎日も後僅か。