はじめに
「パーフェクト Ruby on Rails」に Rails の特徴、強く打ち出している思想について始めのほうに記載されていたので「パーフェクト Ruby on Rails」を振り返り、メリットを知りたいと思いましたのでまとめます。
CoC(Convention over Configuration)
直訳では「設定より規約」になります。有名です。
従来のアプリケーションフレームワークには規約がなく、開発者が自由に設定ができますが、Railsはファイル名の規約やテーブル定義の規約など様々な規約があります。
パーフェクト Ruby on Railsの例(そのままではないです)
- 社員情報を表現するモデルをEmployeeモデルとした場合、Railsで規約には則って開発することが求められる
- データベースのテーブル名はモデル名の複数形のEmployeesにする
- /employeesというURLは社員の一覧を表す
- /employees/1というURLは社員ID:1の社員情報を表す
✔️メリット
- 規約に則って記述することで、設定のファイルを書く必要がない
- プロジェクトごとに設定の差異を生んでしまうことがない
- 共通のルールなので、他のエンジニアとコミュニケーションが取りやすい
- 開発者が決定すべきことが減る
DRY(Don’t Repeat Yourself)
「繰り返してはいけない」「同じことは繰り返さない」と訳されます。
同じソースコードを統一し短くコードを書く事を推奨する思想があります。
情報の重複をなくし、1つのことは1箇所に記述します。
✔️メリット
- DRY原則を守ることにより、コードを変更する際に何箇所も変更する必要がなくなる
REST(REpresentational State Transfer)
Webのアプリケーション設計思想のひとつです。
RESTfulという言葉をよく目にしますが、RESTという設計思想に則ったアーキテクチャのことをいいます。
パーフェクト Ruby on Railsの例(そのままではないです)
- /employees/1というURIが指す内容が「リソース」とすると
- /employees/1にHTTPのGETメソッドでアクセスすることで、社員情報を取得する処理を行える
- /employees/1にHTTPのDELETEメソッドでアクセスすることで、社員情報を削除する処理を行える
✔️メリット
- アプリケーション中のリソースがURIによって参照できる
- 機能追加がしやすい自然な設計になる
- CRUD操作と、4つの基本的なHTTPrequestメソッド(GET,POST,PUT,DELETE)の両方に対応している
おしまい
「パーフェクト Ruby on Rails」を進められ最近読み始めました。話題がたくさんで読み応えがあると聞いたので、読み進めて知識を増やしたいですね〜!頑張ります。
ちょっとだけRails tutorialも参考にいたしました。