プログラムネーミング時の語彙力強化に英語の類義語辞典「Thesaurus.com」で調べるというのもありかも

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

僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。 というのも、良い名前を付ければ、それだけ...

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

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

追記:その後何度か使用してみました。けれど、プログラミングのネーミングの辞書としては、「プログラミングであまり使わない単語が多数出てくる」、「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で良い単語を探す、なんて使い方もいいかもしれません。

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

追記:英語の類語・反語辞典としては、非常に使いやすくて便利ですが、プログラミング辞書としては、関数等によく使われる単語もしくは、ネーミング辞書の方が使いやすいと思います。

『プログラムネーミング時の語彙力強化に英語の類義語辞典「Thesaurus.com」で調べるというのもありかも』へのコメント

  1. 名前: 投稿日:2017/03/11(土) 18:25:22 ID:9d5d879ac

    いいような悪いような。
    ここで良くでるとされても、自分が利用する環境で全く使わないなら逆に混乱するだけでしょうね。それに類義語だけなら普通の辞書であるので十分かな。
    それより類義でもどこか違うわけだから、違いをミクロにしてくれるサイトの方がuseful。

  2. アバター画像 名前:わいひら 投稿日:2017/03/11(土) 20:53:22 ID:83b8e3d92

    今考えてみると、実際僕もそう思います。
    この記事を書いて以降数回は、この類義語辞書を使用してみましたが、実際僕は今使ってないです^^;
    なので、記事の方も追記して修正しておこうと思います。