ソフトウェア設計の 3R — 可読性・再利用性・リファクタリング
Readability・Reusability・Refactorability で設計品質を高める
プロローグ — 読めないコードとの戦い
レガシーコードの保守を任された2年目エンジニアのユイが、3Rの旅を始める
Readability — 読みやすいコードを書く
命名規則・メソッド分割・Railsの規約を通じて可読性の本質を学ぶ
Readability 実践 — Railsモデルの可読性改善
Fat Model対策、Concern活用、型ヒントでRailsモデルを読みやすくする実践手法
Reusability — 再利用可能な設計
DRY原則・Service Object・モジュール抽出で同じ問題を二度解かない設計を学ぶ
Reusability 実践 — 共通ライブラリとGem化
Rails Engine・共通コンポーネント・社内Gem化で再利用性をチームレベルに引き上げる
Refactorability — 変更に強い設計
SOLID原則・依存性注入・テスト駆動で変更が怖くないコードを設計する
Refactorability 実践 — Railsリファクタリングカタログ
Extract Method・Replace Conditional・Introduce Parameter Objectなど実践的なリファクタリングパターンをRailsで学ぶ
コードレビューと3R — チームで品質を上げる
3Rの観点でコードレビューを行い、自動チェックでチーム全体の品質を底上げする
インフラの3R — AWSリソースの設計品質
IaC・CloudFormation・Terraformモジュール化でインフラにも3Rの原則を適用する
エピローグ — 3Rが身につくとき
3ヶ月間の旅を振り返り、習慣化のコツと計測・改善のサイクルを学ぶ