怠惰なRailsから勤勉なJavaへの副作用

Ruby on Rails の学習は持続力のない私にしてはちょこちょこ続き、DT & DHH によるRoR本の12章まで来た。全体にしてみればまだ半分まで達してないので全然なんだけど、ついでにUbuntu + Emacsの環境にもそこそこ慣れてきたのでまあ趣味のペースとしてはこんなところか。
で、12章「テスト」に入って思うのが、Javaの自動化テストもこんな風にできたら楽だろうなあということ。テストだけでなくコーディング全般で不可欠な箇所のみ記述してあとはフレームワーク&規約(設定ではなく)で抽象化するのがRailsのやりかたなので、当然テストに関しても不可欠な箇所、最も手際よく済ませるための手順&規約のエッセンスが抽出されている。
結果、Railsでの手順を学ぶことでテストのエッセンスを学んでいることになる。

残念ながら私が業務で使っているJavaフレームワークは現時点では手順を示してくれるほど洗練されていないというか、一枚岩になっていない。MVC, DI, ORM, ユニットテストとそれぞれフレームワークが分れていて選択肢が幅広いため連携して動かす方法を学ぶ(学ばせる)のに手いっぱいで、どうテストすべきかまで学習・教育する暇がなかった。結果的に恥ずかしいことながらテストの自動化に関する知識の共有化・標準化は(真っ先に解決すべきこととは思いつつ)後回しになってきた。
Railsは休日に学びつつも業務で使える日は来ないものと思っていたが、設定よりも規約を重視したその抽象化の思想はMavenに近いものを感じる。モデルやコントローラの生成などはMaven2プラグインとして私でも実装できるだろう。(あるいは既に存在する)
Railsから「最も怠惰なやりかた」を学ぶことができれば、それをMaven2で実装して実業務に活かせるかもしれない。
ああ、なんか全然テストの話じゃなくなっちゃったな。でもRailsのテストのやり方は「怠惰であろう」としているから、これだったらテストについても勉強する気になるな。
Javaって根が勤勉なんだもの、ツールが勤勉だと提示されているHowToも勤勉になってしまうのか、何かしんどくてやる気が起きない。要するに息抜きにRailsやってみて良かったって、そんな話。

RailsによるアジャイルWebアプリケーション開発

RailsによるアジャイルWebアプリケーション開発