プログラミングで使う名前の付け方をパターン化する。

プログラミングをしているとき、作業の中でそれなりの割合を占めるのが、「名前をつける」という作業だと思います。

たかが名前をつけるだけと、油断して適当な名前にしていると、コード全体が読みづらくなってしまいます。書いてる最中はいいのですが、しばらくぶりにコードを読んだりすると意味不明な感じになったりもするんですよね。かといってその場その場で考えるのは結構時間かかるので、名前の付け方をある程度パターン化してしまうのがおすすめです。今回はそんな名前の付け方パターンを紹介します。

名前の付け方ルールを把握する

プログラム言語の規約に従った名前にする必要があるので最低限ルールを把握しておきます。Rubyの場合

  • クラス名はパスカルケース
  • 変数名は小文字。 単語を区切る時にスネークケースを使う。
  • メソッド名も同じく小文字でスネークケース

といった感じです。なんとかケースという文字がいっぱいでてきましたが、これらの意味わからないよーってかたは以下の記事を参考にしてもらえばと思います。変数名はRubyだとスネークケースを多く見かけますが、他の言語だとキャメルケースが多いように感じます。

osio-tosimasa.com

ところで、変数名には、いわゆる「予約語」を使うことはできません。「予約語」というのはプログラム言語で既に使われている名前のことです。Rubyだとifとかwhileとかclassとかそういうのが予約語に該当します。

クラス名のつけかた

名詞にあたるものをそのままつける

1つめは名詞をそのまま使うパターン。

例を挙げると、アカウント情報を扱うクラスならば、そのまんまAccountみたいな感じです。

クラス名は擬人化して名付ける

2つめはクラスを擬人化して名付けるパターン。このクラスって何する人か?っていう役割によって名前をつけるようなイメージですね。

例を挙げると、AccountManager(アカウント管理する人)みたいな感じです。プログラムの内容を見なくても、名前だけでアカウント追加したり削除してくれたりしそうなイメージが持てるのがよいです。

変数名のつけかた

何が入っているかわかればOK

変数に関しては、器の名前として成立していればそれで問題ないと思います。

さきほどクラス名で出てきたAccountを変数に入れるならば、そのままaccountでもいいですし、新規アカウント用の変数だったら、new_accountで良いんじゃないでしょうか。

変数名は、単語を省略して使われることもある

名前の付け方というところで変数名については、長い単語を省略して表す場合があります。例えば

  • 数をカウントする count --> cnt
  • 数字や番号を表す number --> num
  • 列を表す columns --> col

とかは見かけますね。他のかたが書いたコードを参考にしたりする場合などにこのような省略形で名前が付いている場合もあります。自分で名付けるときも省略系を使っても良いですが、あまり浸透してない略し方を使うとやっぱりわからなくなってしまうので、なるべく省略せずに名前をつけるのがおすすめです。よっぽど長い単語の場合は別の単語に置き換えるとかがいいんじゃないでしょうか。

メソッド名のつけかた

動詞からつける

メソッド名は、動詞から始まるパターンが多いです。クラス名で出てきたAccountManagerにメソッド名をつけていくとしたらこんな感じです。

  • アカウントを作成する ーー> create
  • アカウントを削除する --> delete
  • アカウントを探す   ーー> find

動詞に形容詞や名詞をくっつける

さきほどの応用編で、動詞に付け加えて名詞をくっつけるパターンですね。同じくAccountManagerを例に挙げます。

  • 最初のアカウント探す --> find_first
  • アカウントに権限をつける --> add_role
  • アカウントグループを作る --> make_group

メソッド名は、「なにをするのか」ということが名前になっていればよいと思うので、動詞をメインに名前を考えておけばそれっぽくなると思います。

今回は名前の付け方や考え方についてご紹介しましたが、名前のつけかたとしてよく使う英単語も、パターン化しておくとさらにいい感じですね。

よく出てきがちな英単語もまたの機会に紹介できれば。