マジで先に言ってよ。Ruby on Railsの命名規則について

プログラミング

Tech campでRailsを学習していて、一番混乱するのは名前ではないでしょうか?

あるところでは、“tweet”

あるところでは、“tweets”

またあるところでは、“Tweet”

こんなの混乱するだけだろ?と思って、下手に名前を変えると変なところでリンク切れたりして…

もふぃ
もふぃ

そもそも、そんな名前つけたことねぇよ!何なんだよ!?スペルミスの方がまだかわいいわ!

と一人イライラしていたこともありました。

初心者あるあるではないでしょうか?

でもこれって実は、Railsさんが良かれと思って、勝手にやってくれていたことだったんです…。

ごめんね。Railsさん。

本記事は、Tech camp2周目あたりでMVCを理解している人を対象に、Railsの命名規則についてまとめました。

もふぃ
もふぃ

1周目はとにかく勢いで終わらせてください!

Railsの命名規則について

railsdoctrine

Railsには命名規則なるものがあり、Railsが勝手に予想して名前を作ってくれます。

もう少し詳しく書きますと、Railsの基本理念が8つあり、そのうちの1つがCoC(Convention over Configuration)というのがあります。

訳すと、「設定より規約」となります。

つまり、「規約作っておくから、開発に集中してくれよ」ということです。

そのため、Railsさんが知らないのは私が悪いと言わんばかりに、勝手に名前をつけてくれる、というわけです。

Railsの8つの規則は開発者の思想が伺えるので、読んでみるのもいいかもしれません。

参照元:https://postd.cc/rails-doctrine/

Railsの命名規則 ー モデル

まずはレッスンに従い、モデルを作成します。

対象となるレッスンはこちらです

“Rails[基礎] Lesson3 データを読み込めるようにしよう – データベースにテーブルを追加しよう”

$rails g model tweet

上記のコマンドでモデル名tweetを作成しました。

その結果、どんな名前が作られるでしょうか?下にまとめました。

名称特徴
モデル名tweet単数形
ファイル名tweet.rb単数形
モデルクラス名Tweet単数形・
大文字
テーブル名tweets複数形
マイグレーションファイル名xxxxxxxxxxxxxx_
create_tweets.rb
複数形

もふぃ
もふぃ

私はもう、モデル名は単数形モデルクラス名だけは単数大文字と割り切りました。

テーブル名とマイグレーションファイル名は、データベース関連なので意識しなくても構いません。

Railsの命名規則 ー コントローラ

MVCのなかで、一番大事なのがコントローラ。

コントローラは、ユーザーからのリクエストを「モデル(M)」や「ビュー(V)」にも指示するので、忙しいんです。

そのため、名称も入り乱れます。

私が一番混乱するところです。

そんな司令塔とも呼ばれる、コントローラの命名規則をみていきましょう。

名称特徴
コントローラ名tweets複数形
ファイル名tweets_controller.rb複数形
コントローラクラス名TweetsController複数形・大文字

もふぃ
もふぃ

コントローラは単純に全部複数形と覚えました。

補足:インスタンス変数

命名規則について理解したけれども、疑問が残る人がいるかもしれません。

じゃあ、@tweetsって何なのかしら…?

この疑問に関しては、テキスト内で説明してあります。

“Rails[基礎] Lesson3 データを読み込めるようにしよう – ビューに表示できるようにしよう”の【インスタンス変数とローカル変数】についてご確認ください。

しかし、若干説明不足は否めませんので、下記に補足いたします。

インスタンス変数はクラス内で全メソッドで共通して使用することが出来ます。最初にどこかのメソッドで使用された時点でインスタンス変数は作成され、一度作成されたインスタンス変数は他のメソッドで値を取り出したり格納したりすることが出来るようになります。

”Let’sプログラミング / インスタンス変数” – https://www.javadrive.jp/ruby/class/index4.html

簡単にいうと、ローカル変数と違い、一度メソッドから抜けても他で使用できるよ、ということです。それが、「ビューへのデータの受け渡しができるよ」っていうことに繋がるわけです。

まとめ

Railsの命名規則を知らず、最初はRailsも理解ができませんでしたが、Railsさんが名前をつけてくれているということを知ると、少しだけRailsに歩み寄ることができたと思いました。

私がまず理解したのは、モデルは単数。コントローラーは複数。それだけでした。

その後、クラス名は大文字ということに気がつきました。

まずは1周目でMVCについて理解することを優先したほうがいいと考えますが、2周目に行く時、MVCのフロー図を見ながら名前について意識してみてください。

広告

テックキャンプ プログラミング教養 紹介者コード

テックキャンプ プログラミング教養へ入会検討されている方は、私の紹介者コードを入力すると、入会を決めた時に割引の恩恵が受けられます

割引金額ですが、

プログラミング教養の場合…受講料が5%

エンジニア転職の場合 … 10,000円分のAmazonギフト券(無料カウンセリング当日に申し込みをすると、受講料がさらに10,000円OFFになります)

もふぃ
もふぃ

私のメリットとしては、ほんの少しだけお小遣いがテックキャンプ さんからいただけます。

申し込み方法ですが、下記より無料体験にお申し込みください。

アフィリエイトリンクではありません!

もふぃ
もふぃ

実は、アフィリエイトリンクの方が、お小遣いの額は多いです!

でも、それだと体験入会する方のメリットには一切なりません。

Win−Winの関係であるならば、それが一番だと思い、通常の紹介者用のサイトを紹介しています。

無料オンラインカウンセリング | テックキャンプ(テックキャンプ)
テックキャンプは、あなたを最新のテクノロジーを使いこなせる人材に変えるテクノロジー人材育成スクールです。テックキャンプでは無料のオンラインカウンセリングを行っています。プログラミング学習のお悩みやテクノロジーを学ぶメリットなど、プロのカウンセラーに個別相談ができます。

もし、すでに体験授業終わってしまった!という方は、下記サイトよりお申し込みください。

お金を払っていなければ、まだ間に合います!

テックキャンプ プログラミング教養 - 人生を変えるプログラミングスクール
テックキャンプは、あなたを最新のテクノロジーを使いこなせる人材に変えるテクノロジー人材育成スクールです。これからの時代に不可欠なプログラミングスキルを最高の学習環境で学ぶことが出来ます。

テックキャンプ エンジニア・デザイナー転職コースの方は、こちらの無料カウンセリングよりお申し込みください。

テックキャンプ(旧テックエキスパート)| No1エンジニア養成プログラム
未経験からITエンジニアへの転職・フリーランス転身ならテックキャンプ。最高品質の教育と徹底したサポートにより、エンジニアとしての確かなキャリアをお約束します。転職、案件獲得できなければ全額返金。無料カウンセリングはオンラインでも受けることができます。

もふぃ
もふぃ

紹介者コードは、747c2bです。

この記事が参考になりましたら、当サイトよりお申し込みください。

よろしくお願いいたします。

タイトルとURLをコピーしました