Web

初学者向け:プログラミングするときの命名ルールについて

スポンサーリンク

 

この記事はこんな方におススメです
  • データを分析をしたいが、どこから始めてよいかわからない方
  • データを仕事に活かしたいが、データの解釈の仕方がわからない方
  • 統計学を体系的に学んだことがない、初学者の方

▶ データ分析の学習を進めるステップを掲載しています。以下からどうぞ。

はじめに

今回はデータ分析から少し離れて、コーディングする際の変数名の付け方についてです。変数名を適当につけていませんか?私はずっと、適当につけてました・・・。だいぶいまさらですが、自分で書いたコードを読み返してみて「読みにくい!」と感じたので、命名ルールについて調べてみました。今回は調べた結果をまとめていくことにします。

変数名のルールがなぜ必要なのか?

チームで開発する場合はもちろん、個人で開発する場合においても、コードが読みにくいことは「生産性」を下げることにつながります。生産性は、会社の売上・利益・コストにも密接に関係があります。

プログラムは人が読むもので、不特定多数の人の目に触れるものと考え、常に読みやすさを意識しなければなりません。その第一歩として命名ルールは非常に重要です。命名した名前を見ただけでその中身が想起できるだけでも生産性があがりますね。

変数名の付け方

表記手法

いろんな表記の手法があるようですが、camel caseやsnake caseは特に有名で一般的なようですね。

camel case

一番最初の単語の頭文字を小文字にし、2つ目以降の単語の頭文字を大文字にする書き方。各単語の頭文字を大文字にすることでらくだのコブのようにみえる、というのが由来のようです。
例)user id → useId

snake case

小文字の単語動詞をアンダースコア(_)で繋げる書き方です。こちらは、アンダースコア(_)で繋いで表記した全体が、くねくねとした蛇のようにみえる、というのが由来のようです。
例)userid → user_id

私はいままでまったく変数名についてのルールを意識しておりませんでしたが、(開発をしたこともないし、チームを組んだり、コードレビューをしてもらったこともないので)その重要性を知ったので、個人でコードを書く場合においても、ルールを設けるようにしました。

まず、変数に関してはsnake caseで書くことにして、クラスを定義するときにはcamel caseを採用することにします。その他、意識することを次にまとめます。

意識するとよいこと

ある程度ルールを設けて常に意識をしておかないと、なかなか難しいですね。いろんなサイトの情報を参考にさせてもらいながら、個人でコーディングするときにもルールを設けるようにしました。

今回、ルールを設けるにあたってもっとも参考になったのは以下のサイトです。

変数名をスネークケースをベースとするとして単語をつなぎ合わせるのですから、その「単語」をどのように決めるか、という問題があります。この「単語」に関しても次を意識すると格段にわかりやすくなります。

  1. 具体的にイメージできるように意識する
    汎用的な名前や抽象的なものは、具体的なイメージが湧きにくく、混乱のもととなる。データを格納する変数であれば 「どこから得たものであるか」「なんのデータであるか」を具体的にするとわかりやすくなります。
  2. 真偽値を意識する
    is:状態を表します。(isActiveなど)
    can:可能であるかを表します。(canClear)
    should:すべきかどうかを表します。(shouldChange)
    has:所有を表します。(hasConnection)
  3. 品詞を意識する
    ローマ字などの表記とせずに「英単語」を使うのが原則です。そのうえで、「品詞」を意識して、変数名であれば「名詞」あるいは「形容詞+名詞」、関数名であれば「動詞」あるいは「動詞+名詞」とするとわかりやすい。

ツール

上記のようなたった3つのルールを意識するだけでもかなりコードはみやすくなるのではないでしょうか?ただ、慣れないうちはどんな「英単語」を使えばよいか、に迷ってしまうかもしれませんね。

プログラマのためのネーミング辞書サービスというものがありました。このようなサービスを利用してみるのもよいですね。

スポンサーリンク

まとめ

いかがでしたか?今回は実際のプログラミングやデータ分析からちょっと離れて、命名ルールについて扱ってみました。今回記載したたった3つのルールを設けるだけでもだいぶ読みやすいものになるでしょう。

コメント

タイトルとURLをコピーしました