経歴
4年位前は、Seasar2を使った現場にいて、3年間働きました。
その後、1年前にStrutsの現場に入って開発を1年間続けた。
Strutsはもっと昔に何度もやったことがあって、FW的な動きは知っているけど、いざやってみると上手くいかないのよねぇ~
環境
Java1.6
Struts1.2
eclipse
その他の環境は飛ばします。
本番環境はLinuxです。
問題だと思ったこと
1リクエスト1アクション
Strutsは、1リクエストに対して1アクションクラスを作りますが、コレが害悪だと思いました。
1リクエスト1アクションということは、1機能作るのに複数のアクションクラスが必要になります。
そのため、機能を作る毎にどんどんアクションクラスが増えていき、カオスな環境が出来上がります。
自分のいた現場はそうでした。多分1000クラスはあると思います。
これが原因で、機能を探したり、クラスの移動が面倒でした。
ただ、おかげでeclipseのリソース検索のショートカットの使い方は覚えましたが、こんな経緯で覚えることになるとは思いませんでした。。。
また、クラスが多いことでeclipseの起動にえらく時間がかかる。
たまに反応しないことがあって辛かった。。。。
反応しないのが、障害対応時に発生するとテンパッてしまう結末。心臓にもあまりよろしくない。
少し話が逸れました。あまりにも辛くてここで吐露するしかないのです。
機能を実装するためにアクションクラスが増えることで、生産性も落ちます。
生産性が落ちる要因は、下記だと感じました。
- クラスの増加によって、Javadocをリクエスト単位での説明で、知りたい機能単位の説明が出来ず、意図が伝わりづらい
- レビュー対象の増加
- 障害・バグ回収時の考慮漏れ
1は、なんともないと感じる人がいるかもしれませんが、結構問題だと感じました。
なぜなら仕様を説明する場合、リクエスト単位で説明しないからです。
機能の説明=JavaDocなので、JavaDocも書きづらくなります。
また、設計書もリクエスト単位で書いていたので辛い。本当は機能でまとめたい。
やれば出来なくもないけど、Strutsに影響されてか、その考え・発想がないのかもしれない。
Struts-config.xmlが面倒
コレがやばい。
何かと言うと、目にヤバイ。
パスをちょくちょく書くのだが、人がやるのでミスが生じる。
しかもそのミスが念入りに見ないと気づかないのだ。
優秀な人(笑)は、そんなこと起きないのだろうが、自分はうっかり八兵衛なので、よくパスをミスる。
ミスした時は、「コイツはうっかりだぜ」って何度思ったことか。
コイツの悪いところは、実行しないと気づかないこと。
起動するにも時間的コストがかかるから、生産性にも影響を与える。
また、XMLというのがよろしくない。
助長な記述になってしまうので、XMLとStruts-Configはお互いに悪影響を与え合い、開発を苦しめていると感じました。
もういいんだよ・・・・
Strutsは、そもそも開発者にやさしくない!
もういいんだよ。
もういいの。
もう自分を責めないで。。。
Strutsは生産性が低くて当たり前。すべて自分の所為にして、自分を追い詰めないで!
生産性が低いのは、すべて自分が悪いと思わないほうがいい。
きっと原因は他にもあって、要因がいろいろ重なっているはず。
とはいえ、最低限の努力はしましょう。
ショートカット覚えるとか、Strutsの動きを理解するとか。
動きを知ることで障害対応がある程度楽になるはず。
ショートカットも覚えれば違う現場でも役に立つはず。
それにしてもストレスが溜まった。
ストレスとのつきあい方を学びたいなぁ~と思った今日このごろ
他の人は?
他の人はどうかんじるのだろうか?
コメントで教えてもらえると嬉しぜよ