2010年7月8日木曜日

久々のJavaコーディン・・・グ・・・?

まぁ、ホントに稀に見る放置プレイである。いや、まぁそんなもんなのか?しかし、システムの構成も登場人物も使い方もわからないし、説明もない。
聞けば返ってくるが、聞かないと何の説明もない。忙しいのはわかるけど、一通り30分程度でいいので流しの説明ぐらいあるもんなんじゃあなかろうか、というのは世知辛い受託開発プロジェクトの現場では甘い考えなのか。

とりあえずそんなことはどうでもいいとして、要するに唯一メンテナンスされ続けているというDBの設計書とソース、実際に動く開発環境の画面とにらめっこしながら、どんな登場人物がいて、何をするシステムなのか、ということを読み解いていくわけです。むくむくと胸の底から湧き上がってくる不毛さを押さえつけながら。

今回のWEBシステムはStrutsベースのServlet。最近ではWEBアプリというと大抵PHPですが、このシステムは生まれてから長いので、Servletで引っ張り続けているようです。

それもどうでもいいとして、パッケージの一覧もクラス図もないのでソースを読むわけですが、素晴らしいほどにJavaっぽくない。

今日、夕方になってようやく追いかけ始めたソースは、247行目で if(hoge) と評価が入り、これに対応する else が出てくるのが 777行目。それも、正常な処理とエラー処理の切り分けだけって・・・

Exception投げればよくね?

さらに中ではif文がガンガン、ネストしていて読みにくい・・・(泣)

というか、ひとつのクラスで「777行目」が出てきている時点で、Javaな人は驚かれることかと思います。せめてクラスを分ければ、もうちょっと読みやすくなりそうなんだけど、一瞬、Javaであることを忘れます。

ただ、逆に言うと「手続き型」な流れで書かれている分、5年ぶりにペンを執った、いや、キーボードを叩いた(?)ボクとしては、あちこちクラスを追いかけまわさないで済むので実は逆にありがたかったりする、という効用を発見。

最終的に、要件を満たした機能がバグなく動けばOKな世界ではあるから、メンテナンスがしやすければソースが美しいかどうかはこの際、関係ない。

今日は読んだだけだったけど、明日からいよいよ書く予定。
なんかワクワクする。

0 件のコメント: