2018年7月16日月曜日

日本語の変数名や関数名はレビューの評判が悪いけど... (JavaScript)

拙訳書『JavaScript 第3版』で、付録に日本語の識別子(変数、定数、関数の名前)を使ってみたのだけれど、Amazonに悪いレビューがけっこうある

しかも全面的に日本語にしたわけではなくて、自分が書き下ろした付録でそうしてみただけなのに、そんなことはまったく書かずに鬼の首でも取ったみたいに攻撃をする方が何人かいらっしゃる。

変数名や関数名に自信をもって英語を使える人、手をあげてくださ〜い

かれこれ○十年英語を学習し、TOEICのスコアは895点(ぐらい)だった私ですが、私は手をあげられません。

英語ができる人が読めば、理解はしてもらえそうな名前を付けることはできます。 しかし、自信があるかと言われれば、「ない」。

「ある」と答えられる人は、ネイティブ並みの(あるいはそれに近い)英語力を持っている人か、自分の英語の実力を知らないかのどちらかでしょう。私は簡潔に正しく表現できているか、いつも自信がありません。

就職したての頃、上司のソースに「xxxCount」という変数がいくつか並んでいて、「こういうときcountって言うのかな〜。numberOfxxxとかのほうがいいんじゃないかな〜」とけっこう悩みました(最近はネイティブスピーカーのソースを簡単に見られるので、まあ、頻繁に出てくる表現は身につけようと思えばさほど難しくは何のかもしれませんが)。

チームに日本語ができない人がいる場合、これは仕方ない。下手な英語でも日本語よりは理解してもらえる。

しかし、たとえば自分が練習するのに、日本語の識別子を使っても回りの人に不都合もありません。

「変数が日本語だと、読みにくい」という方がいらっしゃいますが、多分「慣れ」です。慣れれば日本語のほうがパッと見て意味がわかります。試してみてください。3日もすれば慣れてしまう人がけっこういると思います。

 
  • 説明するときは、日本語のほうがはるかに理解度が高い —— 英語ができない人は世の中にけっこう多いのです。プログラミング講座を運営していて身にしみているのですが、つまずく方の3割から5割ぐらいは、英語が原因です。docmentとかMath.randamとか綴って、「動かない」ということがけっこうあります。そういった方が、変数名を自分で英語で考えるというのは、かなり難しいでしょう(逆に言えば、英語ができればプログラミングには有利だということでもありますが)
  • 自信を持って変数名や関数名を書けるし、日本語で考えたほうがはるかに楽
  • 長いプログラムになればなるほど変数名は長くなる。そうすると自分の英語が正しいのかますます自信がなくなる

英語で書きたい方が書くのは一向にかまいません。ただし、やってもみないで「読みにくい」と断言するのは止めていただきたいのです。

ご自分で何日間か試して、回りに方にも何日間か試してもらって、それでも「全員一致して読みにくい」という結論になったら、具体的に「合計○人が△日間試してみたが、読みにくいということで一致した」とご批判をどうぞ。

ただし、一人でも「日本語のほうがわかりやすい」という方がいらしたら、それでも頭ごなしに「読みにくい」と断言できますか?

0 件のコメント: