プログラムネーミング時の語彙力強化に英語の類義語辞典「Thesaurus.com」が便利

先日、プログラミング時のネーミングに便利なページをまとめました。

プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ
僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。 というのも、良い名前を付ければ、それだけでそのコ...

このときに、Twitterで「Thesaurus.com」という、英語の類義語辞典サイトを教えてもらったので追記しました。

その後、いろいろと使ってみて便利だったので、改めて機能などを紹介です。

photo by jwyg

スポンサーリンク
レクタングル(大)広告

Thesaurus.comとは

Thesaurus.com  Find Synonyms and Antonyms of Words at Thesaurus.com

Thesaurus.comは、英単語の同義語と反意語を検索することができる英語辞典サービスです。

Thesaurus(シソーラス)とは、分類語彙辞典とか、類語辞典とか、言葉の宝庫みたいな意味があります。そのまんまですね。

類義語・反意語検索

例えば、make(作る)で検索した場合、以下のように「類義語」と「反意語」が表示されます。

Makeの検索結果

これらの結果は、デフォルト状態で、関連性の高い単語から順番に表示されます。(Thesaurusによるランク付けです。)

関連性が高い順に表示される

ですので、同じ「作る」という意味の関数名をつけるとしても make_xxxxxxx() とはせずに、生成するようなものだったら、 generate_password() みたいにした方が良いかなとか、まとめて構成するようなものだったら、 compose_xxxxxxx() にした方が良いかななど、ある程度、関数内の動作のニュアンスが読み取れるようなネーミングの助けになります。(※プロジェクトに決まりがある場合は、それに従うべきと思います。)

Thesaurus.comの機能

Thesaurus.comは、機能も便利なものがそろっています。

シソーラスの機能

  1. 関連性(Relevance)
  2. 複雑さ(Complexity)
  3. 単語の長さ(Length)
  4. 一般的に利用されるか(Common)

関連性(Relevance)

関連性機能

Thesaurus.comでは、デフォルトで検索した単語と同義語の感覚が、どれほど密接にマッチするかランク付けがされています。

以下は、「create」の検索結果ですが、関連性が高い順に色付けされます。

Createの関連性

以下のように「A-Z」にすると、

A-Z

単に文字列でソートされます。

文字列でソートされる

複雑さ(Complexity)

複雑さの調節設定

Thesaurus.comでは、単語の複雑さによって、単語を抽出することもできます。

例えば以下のように、複雑さのつまみを調節すると、

複雑さの調節

あまり複雑でない単語のみが表示されます。

なじみのある単語のみが表示

複雑さの中室は、3段階で、つまみが+に近づくほど、複雑な単語が選択されます。通常プログラムする場合は、分かりやすい単語を選んだ方が、後の自分にも、他人にも優しいかと思います。

単語の長さ(Length)

文字の長さ設定

単に、単語の長さでも抽出することができます。

例えば以下のように、長さを設定すると、

単語の長さによる抽出

以下のように、短めの単語のものが抽出されます。

単語の長さによる抽出結果

プログラミングで、利用する場合は、なるべく短くて分かりやすい単語があると、書きやすいし、分かりやすいしで最高です。

一般的に利用されるか(Common)

Common機能

あと1つ便利なのが「Common」機能です。

この機能は、ラジオで語られる言葉から、学術誌に至るまで、様々な場面で頻繁に利用される単語を抽出するための機能です。

「Common」にチェックがついていると、

Common機能にチェック

一般的によく利用される単語が抽出されます。

Common機能をオンにして抽出した結果

まとめ

このような感じで、関数名や、変数名候補の単語を探すのに、結構便利な辞典ではないかと思います。

いろいろ絞り込む機能もついているので、どちらの単語を利用するか悩んだら、簡単な方(一般的な方)を利用するなんて使い方もできそうです。

ただ、Thesaurus.comは、一般的な英語の類義語辞典ですので、プログラムのネーミングに利用するには、以下のような、難点部分もあります。

  • 類義語の関連性は、プログラミング的なものではなく一般的な感覚からのもの
  • 反意語も一般的な感覚からのもの(Saveの反対がLoadにはならない)
  • 細かな日本語でのニュアンスはweblio辞書などで調べる必要がある

このような、難点があるものの、僕のように英語の語彙力が少ない者には、結構な手助けになる辞書だと思います。

基本的に、名前を付けるときは、日本語用のデベロッパーネーミング辞書で検索して、良いものが見つからなかったら、Thesaurus.comで良い単語を探す、なんて使い方もいいかもしれません。

ネーミングに手間をかけるのは、結構面倒ではあります。ただ半年後、自分の書いたソースを見返したとき、「そのとき面倒くさがらずに名前を付けた自分に感謝」なんてことは、あるかもしれません。