今作ってるシステムは、HTTPで外部とXMLのやりとりする。 単体テストする用に、そのスタブを作ろうと思った。
で、そのHTTP通信クラスをのぞいて見ると、 JDBCと同じようなことをやらなきゃいけない。 URLとユーザとパスワードを渡してコネクションとって、あーだこーだ。
んじゃ、ユーティリティ作っちゃおってことで。 業務クラスから、業務的に必要なパラメータをもらってからHTTP通信して、 レスポンスのデータを業務クラスで使う用のオブジェクトにして返してあげる。
コネクションがどうの、とか。 クローズがどうの、とか。 そういうの気にしなくていいように。
んで、そのクラスの中で分岐させる。
Excelからテストデータを取得して返すか。 実際にHTTP通信して返すか。
Javaのプロパティファイルを使って、 あるKEYで取得したVALUEが"excel"か"http"でで分岐する。
Excelからデータをとってくるには、それ用のライブラリとかが必要。 でも、実行環境上に、そんなクラスがいるのはかっこ悪いなぁと。
んで、リフレクション。無事動いてチャンチャン、と。 んでもって、2年目の男の子に、どうかね?って。そしたら。
自分ならinterfaceを作って、 そこにExcel用とHTTP用のクラスをぶら下げますね。
プロパティからは生成するクラス名を取得する形にして〜
彼はパッ聞かれて、パッと答えてるわけです。
毎回リフレクションしちゃうのは微妙じゃね?とか、 確かにそっちの方が見た感じは分かりやすいかもねぇとか、
そんな話をするのは久しぶりだ。
ここのところ、いつも自分1人で考えて、 相談する仲間もいなくて、1人でリリースしてた。
2年目のそいつは、見た目も少し暗い感じで、 ゲームとか秋葉原とか好きで、 業務的なミーティングとかすぐ寝てしまうし、 大事なところでは仕事が粗かったり、ミスが多かったりするみたいだが、 話せば面白いやつだし、何より技術力は高い。
こういう子をいかに押さえつけずに伸び伸びと育ててあげられるか。 そんな風に思う。
みんなが彼みたいだったら、プロジェクトはまわらないけど、 間違いなく、彼みたいな子はプロジェクトに必要だ。
チーム外の人とのやりとりや、 協力会社さんに対する接し方や、
その類のものを、強要とか強制とかするんじゃなくて、 黙って見本だけ示してあげればいい。 別に1〜2年でそういう存在ならなくてもいいんだし。
なかなか彼にゴリゴリしたところを任せてあげて、且つ、 それをちゃんと検証してあげるっていう進め方が できていないのが申し訳ない。
きっと上の人はそんな風には思ってないんだろうなぁ。。