技術評論社のパーフェクトシリーズに、 ついにRuby on Railsが出たので購入。
お目当ては、9章『より実践的なモデルの使い方』。
自分の場合、Railsは趣味プログラミングで使うことがほとんどなので、 つい動かすことを優先にコードを書きがち。 コントローラーが太らないよう心がけてはいるので、 ビジネスロジックをモデルに実装していったら、 気が付けばファットモデルの出来上がり。 悲しいけど、よく遭遇するパターンだったりする。
そこでモデルのダイエットに取り組むのだけど、
- 複雑なバリデーションとコールバックをクラスに切り出す
- データベースに依存しないモデルを切り出す
- 値オブジェクトを切り出す
- 共通の関心ごとを cencerns に切り出す
- 複数のモデルにまたがった処理をサービスクラス化
といった、9章で紹介されている手法は、概ね自分がやっている手法と同じでホッとした。 バリデーションやコールバックをクラスにするまではやってないけど。
文章が読みやすかったので、週末一気に読み終えた。 扱う範囲が、Railsアプリ開発とテストだけに留まらず、インフラ運用とRailsの拡張までと幅広く、 盛りだくさんという言葉がふさわしい本だった。 Rails 初心者には難しい。中級者向けなのは間違いない。