Growing Rails Applications in Practice: 日本語サマリー
読破しましたのでサマリー書いておきました。
- コントローラの設計を標準化せよ
- ユーザーの各インタラクションをCRUDリソースで表現せよ
- コントローラの責務は4つのみ
- 認証
- パラメータのパースとホワイトリスト
- モデルのロード
- ビュー指定
- モデルのAPIをvalidation、コールバックで表現
- ActiveModel のモデル積極的に作れ
- クラス切り出してロジック整理せよ
- ファットモデルをダイエットさせてスリムモデル切り出せ
- インタラクションロジックをフォームオブジェクトに切り出せ
- 他オブジェクトモデルから呼ばれる、Active Recordを必要としない単一責務POROのサービスオブジェクトをきり出せ
- モジュールの使い道はファイル構造化のみ
- モデルを積極的にネームスペース・サブフォルダに配置せよ
- CSSはBEMで整理せよ
- 生きたスタイルガイドを用意せよ
- Railsバージョンアップせよ
- Edgeは2〜3パッチレベル成長するまではバージョンアップするな
- モンキーパッチ、gemが多ければ多いほどバージョンアップのコストが高くなる
- 単体テスト、結合テスト書け
- テスト駆動設計せよ