kagamihogeの日記

kagamihogeの日記です。

getter/setter があればクラス?

HogeClass hoge = new HogeClass();
hoge.setAre(str1);
hoge.setSore(str2);
hoge.setDore(str3);

時々でいいから…引数付きコンストラクタの事思い出して上げて下さい。


未経験でこの業界入って、JavaStruts な Web アプリのチームに配属されて、Action#execute に 300 行ぐらいベターと書いてあるクラスが既に何十個とあって、ActionForm には引数無しコンストラクタインスタンス変数それぞれに getter/setter をつくるんだよ*1 *2・・・みたいなとこで 1 年とか 2 年いれば、まぁ・・・Struts 離れた時にこういうコードになっても仕方無いのかなぁ・・・と。

パリッパリの新人相手なら「とりあえずちゃんと動いてる?ならオッケー。けど、世の中には引数付きコンストラクタというものがあってだね・・・」みたいに immutable な話に持ってけるんだけど・・・

でまぁ、そういう状況下に置かれた人たちのこういうコードを見ると、やっぱ教育をサボッたツケは大きいなぁ、と思うのです。「あのコードはやばいよ」「こうしたら良くなるよ。それには○○なやり方とか××なやり方があるよ」と、声上げて行くべきだったなぁ、と。

もっとプロジェクト自体にもメンバにも口出しできるようにならないとな、と考えるのでした。

*1:Java & Struts 黎明期から連綿と受け継がれてるコードならこんなんでも上出来であろう

*2:ついでに eclipse で getter/setter の自動生成してないので javadoc がコピペコピペで微妙におかしかったり