プログラミングのざっくり豆知識~変数の名前の付け方~

シリーズ形式で「リーダブル・コード」に書かれている内容を要約しながら、
読みやすいコードについて学習していきたいと思います。
言語はJavaでやっていこうと思います。

第2回目はリーダブルコードの「第2章 名前に情報を詰め込む」を学習して
いきたいと思います。

名前に情報を詰め込む

プログラミングをしていくと変数や関数、クラス名など名前を作ることが多くあります。
その時にこの変数は何のデータが入っているのか、この関数を使うとどのような値を返してくれるのか、
わかるような名前を付けるとコードの読み手としては短い時間でソースコードを理解することができます。

また、それだけではなく名前を適切に付けることができれば、コメントがなくてもソースコードを
理解できるようになるのでコメントの量を減らすこともできます。

それでは、具体的に名前を付けるときにどのようなことを意識しておけばよいか、下に一覧を作成しました。

  • 明確な単語を選ぶ
  • 汎用的な名前を避ける
  • 抽象的名前ではなく、具体的な名前を使用する
  • 名前に情報を追加する
  • 名前の長さを決める
  • 名前のフォーマットで情報を伝える

それではひとつづつ見ていきましょう。

明確な単語を選ぶ

名前を付けるときはほとんど英語を使いますが、英語が不慣れな方(私もそうです。。。)
が名前を付けるとどうしても正確な表現の単語を選ぶことができません。
例えば、webサイトから情報を入手する関数を作っていたとして、関数に「入手」という単語を
付けたい場合、調べてみると「get」,「fetch」,「obtain」,「receive」などたくさん出てきます。

英語に不慣れな方であれば「get」を付ける方が多いのではないでしょうか。
「get」はとても汎用的な単語であり、どんなタイミングでも利用できる便利な
単語ではあるのですが、「get」を使ってしまうと読み手としては「どこから入
手してくるの?DB?インターネット?」という疑問が浮かんでしまいます。

このようなことを避けるためにより明確な表現ができる単語を選んだほうが読み
手としても理解しやすくなります。
今回の場合では「fetch」を使うほうが読み手としては理解しやすくなります。
「fetch」はここにないものを取ってくるというニュアンスがあり、インターネ
ットやデータベースなど何か越しにデータを入手する際はこちらの単語を使うこ
とがほとんどです。

このように英語は同じような意味の単語がいくつもありますが、それぞれに使う
シーンが決まっており、適切な単語を付けてあげることによって読み手の理解を
助けることができます。

名前を付けるときは類語辞典などを調べて、伝えたいことのニュアンスに適した
単語を付けてあげるとよいでしょう。

そうはいっても英語は苦手だし。。。という方には以下のようなサイトもあるの
で活用していてください。

https://codic.jp/engine

次回は「汎用的な名前を避ける」について学習していきます。

この記事の著者

, 」カテゴリの記事