こんにちは!
今回は「現場で使える Ruby on Rails 5速習実践ガイド」を読んだ感想についてまとめます。
対象読者
良かったところ
- 基礎知識を深掘りしていくのに最適
- 最初の一冊にするには基礎知識の説明が不足しているが、その分発展的な内容が多い
- テスト技法について学べる
- システムテストについて解説している
- チーム開発に向けた必要事項を学べる
- MVCに則った設計技法を学べる
- 初学者向けのRailsの本とは思えないほど詳しく学べる
悪かったところ
- Rubyの入門知識は対象読者には不要と感じる
- slimで書かれているので慣れるまで認知的負荷がかかる
学んだこと
- マイグレーション
- バージョンを上げて終わりではなく、確実に下げられるように記述する
db:migrate:redo
でバージョンを下げても問題ないか確認する習慣をつける
- JavaScriptとの連携
- MVCでのコードの書き方
- ビジネスロジックをコントローラからモデルに移す方法
- 複雑なparamsは一括代入できるようにして対応する
- オブジェクトの代入や処理の呼び出しはコールバックや統合的なメソッドで対応する
- ビジネスロジックをビューからモデルに移す方法
- モデルの状態を判断するロジックは
~?
のような名前のメソッドを作ると扱いやすい
- モデルの状態を判断するロジックは
- モデル、コントローラ、ビューそれぞれの共通化の方法
- サービスオブジェクトの作り方、使い方
- 意味のまとまりで処理を集約し、別オブジェクトとして独立させる
- 複数のモデルを扱う処理では、コントローラに処理を書くのではなく、独立したサービスオブジェクトを作る
- モデルに書くべき処理は書かない。ドメインモデル貧血症を避ける
- ビジネスロジックをコントローラからモデルに移す方法
難しかったこと
- CSVの扱い、Jobスケジューリング、webpacker
- 実際に使ったことがないのでイメージが掴みにくかった
おわりに
今回は「現場で使える Ruby on Rails 5速習実践ガイド」を読んだ感想についてまとめました。
本書はRailsの3冊目ぐらいの本に最適だと思います。
特に設計についての章が良かったです。実際に開発してみるとどうしてもコントローラにロジックを書いてしまったり、ビューにロジックを書いてしまったり、モデルが空っぽだったりしてしまっていたので、それらの具体的な対処方法が書かれていて参考になりました。早くこの内容を生かしてコードを書いていきたいと思います。