識別子の命名(2)

こんにちは,インターン生の鳥井保秀と申します.

この記事では読みやすいコードの書き方と題して,コードの見た目を整え可読性の高いコードを書くための手法をご紹介しています.

前回は識別子の見た目を整える方法についてご説明いたしました.しかし見た目がきれいでも識別子の意味そのものが分かりにくければ,読みやすいコードとは呼べません.そこで今回は意味を分かりやすくするための識別子の名づけ方についてご紹介いたします.

ただし前提として識別子,変数名や関数名の名づけ方に関しては,使用している言語のルールや個人の好み,所属している組織の方針などもあるため下記のテクニックが常に役に立つわけではありません.そのためプログラミングをするうえで絶対に守らなければならない作法ではなくあくまで一テクニックとしてお読みください.とはいえ,これらを知っておくとほかの人が書いたコードやサンプルのコードなどが読みやすくなると思います.

まず読みやすい識別子の基本は,可能な限りシンプルにかつコード全体としてみたときなるべく英文として自然であるようにすることです.

そのため基本的に動作を行う関数は動詞,変数は名詞として書くことが多いです.

また,配列の名称はArrayを付けるか複数形にした方が親切です.特に複数形にすればそこまで文字数を増やすことなくそのデータが複数であることを示すことができるのでお勧めです.例えば
int book[10];
とするよりも
int book_array[10];
int books[10];
等とした方が,文中で見たときに意味を理解しやすくなります.

bool型などでフラグとして変数を利用する際は,be動詞isや動名詞などで補った方が意味が分かりやすくなります.例えば
bool remove; //削除されたかのフラグ true:削除済み
bool removeFlg; //削除可能かのフラグ true:削除可能
等とするより
bool isRemoved;
bool canRemoved;
等とした方が,コード上で自然な英語に近くなり読みやすくなります.
if(isRemoved){} //if (it) is removed. (削除されたなら)と読めば削除された際の条件であることが分かる
if(canRemoved){} //if can removed.(削除可能なら)と読めば削除可能な際の条件であることが分かる

なるべく一般的な英単語を使用するというのもコードを読みやすくする手法の一つです.私は英語が苦手なのであまり単語を知らないため,辞書を引くか,プログラムで一般的に使用される単語をまとめたサイトを利用することが多いです.特に
「Codic」
プログラマ向けの辞書サイトが使いやすくておすすめです.

また短く書くという観点では略語の知識を持っていることも大切です.例えば
vir: variable: 変数
arg: argument: 引数
dir: directory: ディレクトリ
等は比較的よく利用される略語で,これらを使えば同じ意味の識別子でも短くシンプルにまとめることができます.またよく使用されるので,知っておくと他人の書いたコードの意味が分かりやすくなります.略語に関してもまとめられたサイトが複数存在しますが.
「Acronym Finder」
というサイトが規模が大きくておすすめです.ただし略語はやみくもに使うと他人が見てわかりにくいコードになってしまうため,必要なところで適切に使用するよう心がけましょう.

今回は識別子の命名についてご説明いたしました.識別子の名前を少し意識することにより,ソースコード全体を読みやすくすることができるようになります.

興味を持たれた方はお気軽にお問い合わせください。

インターンシップへの申し込み・お問い合わせ先

インターンシップへの申し込み・お問い合わせ先
メールでのお問い合わせは、下記フォームに入力して送信してください。
ご氏名 (例)山田 太郎
メールアドレス 半角英数字:ご入力間違いのないようにご注意ください
メールアドレス(確認用) 半角英数字:ご入力間違いのないようにご注意ください
電話番号 (例)0354339211 ※ハイフン抜きで入力してください
題名
お問合わせ内容

アーカイブ

カテゴリー