※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 Googleが GuiceというDIコンテナをリリース し、 素早く紹介記事があがった わけだけど、やっぱりDIの良さがわからない。
はてなで貰ったコメントに突っ込んでみる。
Yoshioriさん。「AOPいいよ!!トランザクションとか自分で実装するのメンドイよ!!」
おいら「Djangoでトランザクションスコープをリクエストにしとけばいいんで…」
nekoraさん 「スクリプト言語で間に合う程度の小規模・低負荷・単純な案件ならばスクリプトで済ませるべきであるという話の一例。時に「動的言語」って何だろ」
おいら「「動的型付言語でした」。スクリプト言語で間に合わない程度というと、世界数カ所で同時にコミットするような案件位だよね。みんな凄いのやってるねぇ。とはいいながら、確かにへぼを集めてもある程度きちんと書けるのがJavaとかの良さだというのは分かってるぞ。あれ?DIの話関係無いねぇ」
これはきっと少人数開発しているからということが大きいと思うんだけど、少人数でもDIはいいんだよということを誰かが教えてくれないかなぁ。
だって、部品をテストするときに「インターフェース定義」「スタブ(モック)作成」という余計な手間と、スタブの代わりになる部品(実装)ができたときに設定を書き換える手間が増える訳じゃん。
少人数開発(実際は2チーム)で開発をしていれば、だいたい開発スピードもわかってるし、うまくスケジューリングすれば部品待ちってことも殆どないわけで。
そもそもが動的言語使っちゃえば、設定ファイルとかアノテーション書き換える時間で実装を書き換えられちゃうんだから、DIの必要性を感じたらPythonに乗り換えるタイミングなんじゃないかとか思ってしまう。
つか、 Javaやめた方が良いよ と言う人が最近多い。もっともだと思う。