はじめに
Railsでの一般的な命名規則について説明していきます。
表記法
- キャメルケース
- アッパー
- ロウワー
- スネークケース
- コンスタントケース
- ケバブケース
- M (Model) → 単数形
- V (View) → 複数形
- C (Controller) → 複数形
キャメルケース
キャメル(camel)はラクダのことで、コブに見立てて単語ごとの頭文字を大文字で表記します。
全体の先頭の文字は、大文字の場合と小文字の場合とがある。
アッパーキャメルケース
主にクラス名、モジュール名で使用され
先頭が大文字のキャメルケースで表記します。
# 例
class AdminUser
end
ロウワーキャメルケース
主にJavaScript
の変数名などで使用され
先頭が小文字のキャメルケースで表記します。
// 例
const helloWorld = "ハローワールド";
console.log(helloWorld);
...
スネークケース
主に変数名、ファイル名で使用され
単語の区切りを_
アンダースコアで表記します。
# 例
class UsersController
def set_user
...
end
def user_params
...
end
end
コンスタントケース
変更しない定数などを表現する際に使用され、
全て大文字のスネークケースで表記します。
TAX_RATE = 0.1
ケバブケース
主にHTML
のクラス名などで使用されるケバブケース。
棒に刺さった肉の様に単語の区切りを-
ハイフンでで表記します。
.box
.box-header.with-border
%h3.box-title= "タイトル"
MVC(Model-View-Controller)の命名
MVCアーキテクチャは、アプリケーションのコードを3つの主要なコンポーネントに分割します。
それぞれの命名規則を解説します。
Model (モデル)
モデルは単数形キャメルケースの名前を使用します。
テーブル名は複数形でなければなりません。
そしてモデルクラスのファイル名は単数形スネークケースを使用します。
アイテム | 名称 | 命名規則 |
---|---|---|
モデル名 | admin_user | 単数形・小文字・スネークケース |
テーブル名 | admin_users | 複数形・小文字・スネークケース |
クラス名 | AdminUser | 単数形・先頭大文字・キャメルケース |
ファイル名 | admin_user.rb | 単数形・小文字・スネークケース |
View (ビュー)
ビューのテンプレートファイルはコントローラ名と対応するディレクトリ内に保存されます。
- ビューファイルの名前はアクション名に対応し、スネークケースを使用します。
例:app/views/admin_users/index.html.haml
- パーシャルビュー(再利用可能な部分ビュー)はアンダースコアで始まることが一般的です。
例:app/views/admin_users/_form.html.haml
ルーティング(Routes)
ルーティングではRESTfulなルーティングを使用し、リソース名を複数形で表現します。
resources :admin_users
Controller (コントローラー)
複数のアクションを管理するコントローラは複数形の名前を使用します。
コントローラクラスのファイル名も複数形スネークケースを使用します。
アイテム | 名称 | 命名規則 |
---|---|---|
コントローラー名 | admin_users | 複数形・小文字・スネークケース |
クラス名 | AdminUsersController | 複数形・先頭大文字・キャメルケース |
ファイル名 | admin_users_controller.rb | 複数形・小文字・スネークケース |
さいごに
今回はMVCの命名についてお話しました。
次回はメソッド名や変数名などのネーミングについて書こうかと思います。