先日、プログラミング時のネーミングに便利なページをまとめました。
このときに、Twitterで「Thesaurus.com」という、英語の類義語辞典サイトを教えてもらったので追記しました。
その後、いろいろと使ってみて便利だったので、改めて機能などを紹介です。
photo by jwyg
目次
Thesaurus.comとは
Thesaurus.comは、英単語の同義語と反意語を検索することができる英語辞典サービスです。
Thesaurus(シソーラス)とは、分類語彙辞典とか、類語辞典とか、言葉の宝庫みたいな意味があります。そのまんまですね。
類義語・反意語検索
例えば、make(作る)で検索した場合、以下のように「類義語」と「反意語」が表示されます。
これらの結果は、デフォルト状態で、関連性の高い単語から順番に表示されます。(Thesaurusによるランク付けです。)
ですので、同じ「作る」という意味の関数名をつけるとしても make_xxxxxxx() とはせずに、生成するようなものだったら、 generate_password() みたいにした方が良いかなとか、まとめて構成するようなものだったら、 compose_xxxxxxx() にした方が良いかなど、ある程度、関数内の動作のニュアンスが読み取れるようなネーミングの助けになります。(※プロジェクトに決まりがある場合は、それに従うべきと思います。)
Thesaurus.comの機能
Thesaurus.comは、機能も便利なものがそろっています。
- 関連性(Relevance)
- 複雑さ(Complexity)
- 単語の長さ(Length)
- 一般的に利用されるか(Common)
関連性(Relevance)
Thesaurus.comでは、デフォルトで検索した単語と同義語の感覚が、どれほど密接にマッチするかランク付けがされています。
以下は、「create」の検索結果ですが、関連性が高い順に色付けされます。
以下のように「A-Z」にすると、
単に文字列でソートされます。
複雑さ(Complexity)
Thesaurus.comでは、単語の複雑さによって、単語を抽出することもできます。
例えば以下のように、複雑さのつまみを調節すると、
あまり複雑でない単語のみが表示されます。
複雑さの抽出は、3段階で、つまみが+に近づくほど、複雑な単語が選択されます。通常プログラムする場合は、分かりやすい単語を選んだ方が、後の自分にも、他人にも優しいかと思います。
単語の長さ(Length)
単に、単語の長さでも抽出することができます。
例えば以下のように、長さを設定すると、
以下のように、短めの単語のものが抽出されます。
プログラミングで、利用する場合は、なるべく短くて分かりやすい単語があると、書きやすいし、分かりやすいしで最高です。
一般的に利用されるか(Common)
あと1つ便利なのが「Common」機能です。
この機能は、ラジオで語られる言葉から、学術誌に至るまで、様々な場面で頻繁に利用される単語を抽出するための機能です。
「Common」にチェックがついていると、
一般的によく利用される単語が抽出されます。
まとめ
このような感じで、関数名や、変数名候補の単語を探すのに、ある程度便利な辞典ではないかと思います。
いろいろ絞り込む機能もついているので、どちらの単語を利用するか悩んだら、簡単な方(一般的な方)を利用するなんて使い方もできそうです。
ただ、Thesaurus.comは、一般的な英語の類義語辞典ですので、プログラムのネーミングに利用するには、以下のような、難点部分もあります。
- 類義語の関連性は、プログラミング的なものではなく一般的な感覚からのもの
- 反意語も一般的な感覚からのもの(Saveの反対がLoadにはならない)
- 細かな日本語でのニュアンスはweblio辞書などで調べる必要がある
このような、難点があるものの、僕のように英語の語彙力が少ない者には、結構な手助けになる辞書だと思います。
基本的に、名前を付けるときは、日本語用のデベロッパーネーミング辞書で検索して、良いものが見つからなかったら、Thesaurus.comで良い単語を探す、なんて使い方もいいかもしれません。
ネーミングに手間をかけるのは、結構面倒ではあります。ただ半年後、自分の書いたソースを見返したとき、「そのとき面倒くさがらずに名前を付けた自分に感謝」なんてことは、あるかもしれません。
いいような悪いような。
ここで良くでるとされても、自分が利用する環境で全く使わないなら逆に混乱するだけでしょうね。それに類義語だけなら普通の辞書であるので十分かな。
それより類義でもどこか違うわけだから、違いをミクロにしてくれるサイトの方がuseful。