Unityでインディゲームを作る!

Unityでのゲーム制作を目指し、それに関わる話題についてのブログ

プログラミングにおける名付け、ネーミングの重要性について。

プログラミングにおいて、重要なのが変数メソッドネーミング。適切な英単語を選ぶことの大切さについて考えてみました。英語力問題に切り込みます。

 

名に魂は宿る。

 プログラミングにおいて、メソッドや変数の名前付け、"ネーミング"は大事です。どんな名前を付けるかは自由であるからこそ、どうするかはプログラマの責任。

 これをきっちりやることでコードを読めば、何をどうしたいのか?というのがわかるようになり、つまり直感的な可読性を高めることができます。

 

ここで問題なのが、基本的には英語による名付けが中心だということです。

 

英語力は必要?それとも不必要?

 プログラミング言語は、基本的には英語を利用した人工言語であり、様々な用語は英語に基づいています。

 

 日本語というか、ローマ字でネーミングすることも可能ですが問題があります。日本語は漢字を主とした表意文字に根ざした言語だということです。なので、ひらがな表記やローマ字表記にすると、言葉のイメージが湧きにくいという問題があります。 

 英語は、逆に表音文字でありアルファベットの羅列ではありますが、スペリング自体に意味やイメージがあるので、それがアイキャッチになるわけです。

 

 というわけで英語によるネーミングが、必然的に推奨されます。そういう意味では、英語力というのは、やはりプログラミングにおいてはそれなりに必要なものであるし、下記の最も大きな問題への解決力になります。

 

適切な言葉を選ぶ、英語の語彙力。

 変数名あるいはメソッド名を名付ける際に、大事なのは適切な言葉を選ぶこと。そのコードを説明しうる適切な言葉を選び組み合わせる、ということになります。

 

 よって大事な事は、その意味を持つ英単語をただ当てはめれば良いと言うわけではなくて、その英単語のニュアンスも把握した上で使いこなすということが必要になってきます。

 例えば「変える」という意味であれば、まず思いつくのは"Change"です。しかし、変えるという意味を持つ単語はそれだけではありません。

vary, alt, tweak, convert, transformなど。

 「変える」と一言に言っても、このように様々な英単語があるわけです。つまりそのメソッドにしろ変数にしろ、その状況、コンテクストに即した英単語を選ぶことが大事になります。

 

 というわけで、適切なネーミング力を身につけるためには、リアルな英語力が必要になってくるのだろうと思います。

 自分も英語はあまり出来ませんが、Dictionary.comなど英語関連の調べ物はなるべくネイティヴのところで調べるようにしています。