【リニューアル記念】ブロガーへのSTEPを更新中!

プログラミングの変数名や関数名のつけ方!もう迷わなくていい!

変数名と関数名のつけ方

プログラミングに集中したいのに、「変数名や関数名に毎回悩んでしまう…」なんて経験はありませんか?

「この変数名のつけ方は正しいのかな?」

「この関数名の規則性って一般的なのかな?」

こんなことを悩んでいた時期が僕にもあります。

さらにいうと、僕は英語が5教科の中で1番できなかったため、英語の構文なんかは中学生以下の理解力です。

ですが、そんな僕も今ではほとんど迷わずに名前をつけることができています。

なぜなら、変数名と関数名のつけ方には「規則性がある」ということを知ったからです!

この規則性を一度理解してしまえば、「名前をつけるたびに悩んで止まってしまう…」なんてことから解放されます!

キツネ

英語ができなくたってプログラミングはできる!

今回は変数名や関数名のつけ方を理解するために、以下の順番で体系的に紹介していきたいと思います!

  1. 変数名や関数名の基本的な構文を理解する
  2. 命名規則を理解する
  3. 実際に命名してみる

では、さっそく見てきましょう!

変数名や関数名のつけ方

変数名や関数名のつけ方には、必ずパターンが存在します。

パターンさえ覚えてしまえば、あとは英語に翻訳するだけの簡単なお仕事です。

ただ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のフレームワーク「Rails」で、ユーザー定義関数を作る場合を例に見てみましょう。

今回は「関数を実行するとすべてのユーザー情報をデータベースから取得したい!」という要望を満たしたいと思います。

このとき、僕は以下のように関数名を考えます。

  1. 作りたい関数の処理内容を「目的語 + 動詞」の形である「すべてのユーザー情報をデータベースから取得する」とする
  2. さらにシンプルに「すべてのユーザーを取得する」に変更する
  3. これを英語「get all users」に変換する
  4. Railsの関数の命名規則はスネークケースなので、「get_all_users」となり完成!

キツネ

意味が伝わるギリギリまでシンプルにするよ!

ちなみに、僕みたいに英語が苦手な方は「codic」というサイトを使うことで、簡単に変数名や関数名を作ることができます。

codic」にアクセスして「すべてのユーザーsを取得する」と打ち込むだけで、「get_all_users」と変換された文字が表示されるのです。

ただ、複数形を表示したい場合は、上のように自分で「s」と打つ必要があるので注意してください。

さいごに

変数名や関数名は、読み手のことを考えて「わかりやすく」かつ「シンプル」にしなければいけません。

名前のつけ方に限らず、誰が見ても綺麗で読みやすいコードは開発効率を上げ、生産性を高めてくれます。

もし、あなたが

「綺麗なコードを書くための基準が知りたい!」

「自分のコーディングスキルをもっと上げたい!」

と強く思っている(意識が高い)のであれば「リーダブルコード」も読んでみてほしいです。

僕自身、あまり本を読むほうではありませんが、この本は「めっちゃ勉強になる!」と感じられる一冊でした。

そしてなんといってもこの本、僕みたいな本嫌いでもスラスラ読めてしまうほどわかりやすいのです。

それだけでなく、小さくて薄い(内容は濃い)ので通勤中やちょっとした休憩時間にも読めちゃいます。

気になる方は、ぜひAmazonのレビューも参考にしてみてください!

テキストのコピーはできません。