【初心者必見】変数・関数の命名規則【ソースが読みやすくなる方法】

こんにちはショウです。
今日は変数名称についてです

私がソースコードを書いているとよく悩むのが変数や関数の名前です

初めたばかりのころは変数名にaとかbとかつけていました
でも先輩に読みにくいと指摘されました
確かに自分で書いたソースコードですら一週間後や一年後に読むと悩みます
他の人が読んでもわかりやすいはずがありません
そこで、自分の中でルール(命名規則)を作ることにしました

メリット

ルール決めすることで下記のような利点があります

  • ソースコードが読みやすくなる
  • ソースコードの検索がやりやすい
  • コメントを書かなくても意味がわかるようになる
  • 拡張性が高くなる

ルール

私が使用しているルールは下記です

  • 変数名は意味のある名前にする
  • ブール型はis〜とする
  • 関数・変数の種別で名前に規則性を持たせる
  • 単語の頭は大文字とする

変数名は意味のある名前にする

意味のある名前にすることで使用する時に迷わなくなります
例えば下記のような関数と変数があれば、 コメントがなくとも現在時刻をとってきているとわかりますし
その後変数を使用する時も、時間のデータだとすぐにわかります

 get_current_time(timeData)

ブール型はis〜とする

ブール型はフラグとする場合が多いですが、~flagだとtrueの際にどちらを示しているかが分かりにくくなります

例えば以下のような変数があった場合、if分の中は走っている最中の処理だとわかります

if(isRun){}

関数・変数の種別で名前に規則性を持たせる

名称の先頭を大文字、小文字で区別や単語のつながりをアンダーバー(_)、大文字で区別することでその変数が何者かが判別できます

ローカル変数は先頭を小文字、グローバル変数は先頭を大文字、メンバ変数は先頭をmvで始めるとしておけば同じ名称の変数が出てきても、どこスコープに影響があるか判別がつきます

 currentTime
 mvCurrentTime
 CurrentTime

単語の頭は大文字とする

単語の頭を大文字にすることで単純に読みやすくなります

currenttime
currentTime

まとめ

命名規則をつけることで追加修正がやりやすくなりますし、バグも見つけやすくなります
ただし、注意として意味のわかる名前をつけようとして、長すぎる関数名、変数名をつけてしまうと可読性がおちるのである程度単語の省略が必要となります

みなさん、自分にあった命名規則を早めに決めましょう
そうすることで、今書いたソースコードを将来読むときに役立ちますよ