プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ
僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。
というのも、良い名前を付ければ、それだけでそのコードがしたいことの説明になり、コメントと同等の働きをすることもあるからです。
自分がちゃんとそれをできているのかはさておき、僕は普段から、できれば読みやすくて分かりやすい名前を付けたいと思っています。他の人も読むコードであれば、できればプログラムでよく使われるような単語を利用して書いた方がより分かりやすいです。
ただ、よい名前を考えるのって、ちょっと面倒くさいんですよね。僕はこれまで、英語の辞書を利用して、考えたりしていたのですが、「何か、プログラムでよく使われる単語をまとめたものはないか?」と探したら、ドンピシャのものがいくつかあったので、それらをまとめて以下で紹介します。
photo by Michael Coté
codic
プログラマーやシステムエンジニアのためのネーミング辞書です。
変数名、関数名はもとより、データベースのカラム名やプログラムのクラス名・メソッド名といったネーミング作業を、手軽に行うための和英辞書といった感じです。
日本語で検索すると、プラグラムなどでよく使われている英単語が以下のようにリストアップされます。(※以下は「取得する」で検索した結果)
単語をクリックすると、詳しいニアンスについて説明するダイアログが出ます。
例えば、通常何かを取得する関数名などは、get_page_title()みたいに書くことも多いかもしれません。けれど、これだとタイトルを、設定値からとるのか、データベースからとるのか、インターネットから取ってくるのか分かりません。
けれど、ネットを介して取ってくるのであればfetch_page_title()とした方が、「行って取ってくる」というニュアンスがあるので、「ネットを介して取ってくるのだな」ということがわかりやすくなります。加えて、処理コストの高い(時間のかかる)関数ということも何となく伝わるので、誤って乱用してしまうことも防げます。
と、こういったプログラムに利用する英単語を手軽に検索することができる辞書ツールです。今更なのかもしれませんが、僕は今回の調べものをしていて初めて知りました。
プログラミングのネーミングに特化した開発者ブログも、とても勉強になります。
関数名によく使われる英単語(動詞)の意味とニュアンス
関数名によく使われる英単語(動詞)の意味とニュアンス | PHP Archive
プログラムで、よく利用される動詞の種類が豊富なリストです。
動詞を見つけるなら、一覧になっているのでcodicで検索するよりも手軽かもしれません。
以下のような意味の単語の、主な用途と細かい意味、ニュアンス、使い分けについてリストアップされています。
- 追加・作成
- 保存・出力
- 読み込み・解析・取得
- 編集・変更・修正
- 削除
- 検索
- 検査
- 許可・禁止
- その他
プログラミングに出る!英単語
名詞なども含めて、一般的に関数名などで使われる英単語を百数十個まとめてあるページです。
C言語編と書かれていますが、どのような言語でもよく利用されている単語ばかりなので、ここにある単語さえ押さえておけば、自分以外の人にも理解されやすい名前をつけることができるかもしれません。
プログラミングでよく使われそうな英単語
プログラミングでよく使われそうな英単語 – Variety wiki
こちらは少なめですが、PukiWiki。
クラス名・関数名によく使われる英単語
javadocリファレンスをプログラムでテキスト解析した結果から、出現頻度が高い単語が上位からリストアップされています。
僕は、Javaは使ったことがないのですけど、上位の単語は他のプログラムでもよく見かける面々といった感じです。(※予約語とかも含まれています。)ここに出てくる単語を押さえて組み合わせて利用すれば、ある程度名前をつけられそう。
Weblio辞書
結局、なんだかんだで最後に頼りになるのは、やっぱり辞書だったり。辞書もいろいろあるけど、Weblio辞書が、日本語で検索したとき、最も提案も多く、解説もあるのでネーミングには、使いやすいです。
以前、WEBのテキスト翻訳サービスを比較した時も、Webulioが質&操作性ともよかったです。
まとめ
とこんな感じで、プログラミング単語のカンニングペーパーに便利なページを紹介しました。
いくつか紹介しましたが、これらの中で、気に入ったものを、いくつかブックマークに入れておけば、次からネーミングで迷ったときに、ちょっとした手助けになるのではないかと思います。
Global Language Monitorによると、2014年の1月時点で100万以上の英単語が存在しているそうです。現在でも、だいたい98分に1個のペースで英単語が生まれるそうです。ただ、プログラムは英数字で書くからといって、これらすべてを知る必要はありません。
今回紹介したページにある単語を200個ぐらいを適切に利用すれば、それだけで、かなり読みやすいコードになるかと思います。