プログラミングに集中したいのに、「変数名や関数名に毎回悩んでしまう…」なんて経験はありませんか?
「この変数名のつけ方は正しいのかな?」
「この関数名の規則性って一般的なのかな?」
こんなことを悩んでいた時期が、僕にもあります。
さらにいうと、僕は英語が5教科の中で1番できなかったため、英語の構文なんかは中学生以下の理解力です。
ですが、そんな僕もいまではほとんど迷わずに名前をつけることができています。
なぜなら、変数名と関数名のつけ方には「規則性がある」ということを知ったからです!
この規則性を一度理解してしまえば、「名前をつけるたびに悩んで止まってしまう…」なんてことから解放されます!
今回は、変数名や関数名のつけ方を理解するために、以下の順番で体系的に紹介していきたいと思います!
- 変数名や関数名の基本的な構文を理解する
- 命名規則を理解する
- 実際に命名してみる
では、さっそく見てきましょう!
もくじ
プログラミングの「変数名」と「関数名」のつけ方
プログラミングの「変数名」や「関数名」のつけ方には、必ずパターンが存在します。
パターンさえ覚えてしまえば、あとは英語に翻訳するだけの簡単なお仕事です。
ただ1つだけ、気を付けてほしいことがあります。
それは、できるだけ「シンプルにする」ということです。
変数や関数をわかりやすくしようとした結果、「長すぎて読みづらい!」なんてことになってしまうと本末転倒ですよね。
変数名は名詞が基本
変数名ですが、これは基本的に「名詞」になります。
変数の中に何が入ってくるのかを考えることが大切です。
たとえば「会員の名前」をあらわす変数にしたい場合、以下のような変数名になります。
# 会員の名前
user_name = '太郎'
# 会員の名前たち
user_names = ['太郎', '花子']
注意する点は、単数形と複数形で表記が変わるところです。
複数の会員を「配列」や「連想配列(ハッシュ)」で変数に代入する場合は、複数形にします。


関数名は動詞 + 目的語にする
関数は何かしらの動きをあらわすため、「~を~する」という表現が一般的です。
これは「目的語」と「動詞」を使って関数名を作るということです。
ただし、英語の文法では順番が入れ替わるので「動詞 + 目的語」となります。
たとえば「会員を取得する」関数を作る場合、以下のような関数名になるでしょう。
# 会員を変数に代入
user = get_user(1)
# 会員を取得する
def get_user(id)
処理
end
# 会員たちを変数に代入
users = get_users([1, 2])
# 会員たちを取得する
def get_users(ids)
処理
end
関数も変数と同じく、複数の会員が「配列」や「連想配列」で返る場合は、複数形の関数名になります。

変数名や関数名の「命名規則」
変数名や関数名のつけ方とは別に、「命名規則」というものが存在します。
命名規則とは、「〇〇のように名前をつけてください!」というルールのこと。
命名規則はたくさんあり、どれに合わせるかによって変数名や関数名の構成が変わってきます。
- 会社で決まっている命名規則
- プロジェクトで決まっている命名規則
- プログラミング言語で推奨されている命名規則
- フレームワークで決まっている命名規則
- その他
どの命名規則も、このあとに紹介する4つのケースのいずれかになります。
どれも簡単に理解できるものばかりなので、ここではケースの種類を覚えられれば十分でしょう。
スネークケース
スネークケースとは、ヘビのように見えることから命名された書き方です。
単語と単語を「_(アンダースコアまたはアンダーバー)」で繋いで表現しますが、これがヘビに見えるのでしょう。
最近のフレームワークでは、「変数名」や「関数名」にスネークケースを指定しているところが多いです。
user_name = '太郎'
ローワーキャメルケース
ローワーキャメルケースとは単語に続く、次の単語の頭文字を「大文字」にする記法です。
これがラクダのコブのように見えることから命名されています。
ローワーキャメルケースは、「関数名」で使用されることがあります。
userName = '太郎'
アッパーキャメルケース
アッパーキャメルケースは、ローワーキャメルケースに加え、先頭の文字も「大文字」にする記法です。「パスカルケース」とも呼びます。
アッパーキャメルケースは、「クラス名」などに使われることがとても多いです。
UserName = '太郎'

チェインケース
チェインケースは、単語間を「-(ハイフン)」で繋ぐ記法です。
チェインケースは、「ドメイン名」や「URL」、「ファイル名」に使われることが多いです。
user-name = '太郎'
関数名をつける例
変数や関数に名前をつけるときの「考え方」や「命名規則におけるケース」については、なんとなく理解できたと思います。
では、Rubyのフレームワーク「Ruby on Rails」で、ユーザー定義関数を作る場合を例に考えてみましょう。
今回は、「関数を実行するとすべてのユーザー情報をデータベースから取得したい!」という要望を満たしたいと思います。
このとき、僕は以下のように関数名を考えます。
- 作りたい関数の処理内容を「目的語 + 動詞」の形である「すべてのユーザー情報をデータベースから取得する」とする
- さらにシンプルに「すべてのユーザーを取得する」に変更する
- これを英語「get all users」に変換する
- Railsの関数の命名規則はスネークケースなので、「get_all_users」となり完成!
ちなみに、僕みたいに英語が苦手な方は「codic」というサイトを使うことで、簡単に変数名や関数名を作ることができます。
「codic」にアクセスして、「すべてのユーザーsを取得する」と打ち込むだけで、「get_all_users」と変換された文字が表示されるのです。
ただ、複数形を表示したい場合は、上のように自分で「s」と打つ必要があるので注意してくださいね。

さいごに:リーダブルコードを意識しよう!
変数名や関数名は、読み手のことを考えて「わかりやすく」かつ「シンプル」にしなければいけません。
名前のつけ方に限らず、誰が見ても綺麗で読みやすいコードは開発効率を上げ、生産性を高めてくれます。
もし、あなたが
「綺麗なコードを書くための基準が知りたい!」
「自分のコーディングスキルをもっと上げたい!」
と強く思っている(意識が高い)のであれば、「リーダブルコード」をおすすめします。
僕自身、あまり本を読むほうではありませんが、この本は「めっちゃ勉強になる!」と感じられる一冊でした。
そしてなんといってもこの本、僕みたいな本嫌いでもスラスラ読めてしまうほどわかりやすいのです。
それだけでなく、小さくて薄い(内容は濃い)ので通勤中やちょっとした休憩時間にも読みやすい。
気になる方は、ぜひAmazonのレビューも参考にしてみてください!
またね、キツネ(@kitaaaa_kitsune)でした!
