🐡

開発者が日本語話者で大多数のときにコードのコメントやログを英語で書くべきではない

2022/03/22に公開

書く人も読む人も英語がわからない

OSSなどでいわゆる強いエンジニアが英語でコメントを書いていることや、昔文字コードがUTF-8じゃなかった関係から、なぜか日本人しかいないような開発現場でも英語でコメントが書かれることがある。

そして、「書く人もわかってないし、読む人もわかってない」というコメディな状況が発生する。

誰も得しないのに、なぜか「英語で書いたほうが格上なんだ」みたいな唾棄すべき風潮があるように思える。唾棄すべき英語帝国主義の思想だと思う。

そして結局、英語話者からしても「なんだこの謎の英語っぽく書いたような文は……何が言いたいんだ」となってしまう。

英語話者からしても、日本語のコメントが書かれている方が読みやすくなる。日本語で正確に書かれていれば、機械翻訳でもかなり正確な英語が出力されるからだ。逆に、英語→日本語もそう。

むしろ、謎の英語で書かれている場合は色んな解釈ができて英語話者は混乱する。

もし社内に少ないながらも日本語が不得手な人がいるのであれば、逆に平易かつ正確な日本語を心がけるべきだと思う。機械翻訳はまだまだ「その訳は酷い」というところもあるけど、論理的な文・文法的に問題のない文は、かなり正確に訳される傾向にある。

英語による弊害

まず日本人は英語の語彙が日本語の語彙に比べてとても小さい。日本人なんだから当たり前なのだが、そのために表現力に限界がある。だから、本来日本語で考えていた情報から幾分か削ぎ落とされた情報がソースコードに残ることになる。そして、3分の1も伝わらない。

次にそこの箇所を読む人は、その削ぎ落とされた、いわば暗号化された情報からもとの情報を復号しないといけなくなる。英単語から、訳出先の日本語の単語を想像し、その上で日本語の助詞を補って、単語同士の組み合わせについて全組み合わせ試し、もっともソースコードの意味と近しくなるように補完しなければいけなくなる。その読み手は、まわり巡って自分になることもある。

こういう状態を、あえてチーム全体・会社全体に課し続けるメリットはないと思う。

英語の訓練にしても、誤った英語を誤った状態で覚えてしまう危険性があるので、そんな訓練はすべきではないと思う。

ごまかしとしての英語

英語はごまかしの温床にもなる。あやふやな英語でコメントを書くせいで、正しく説明がなされていないこともある。日本語で書けば一目瞭然で「ここはおかしい」と言い切れるところでも、英語のせいで指摘する人がぐっと減る。

特に、英語でコメントが書かれている場合、非常に短文になっているものをよく見かける。

日本語で同じようなことを書くときは、修飾語やらで意図が間違って伝わらないように書くことができるのに、英語にしようとした瞬間、それが一気に削ぎ落とされる。そうして、そのコードを説明するのに必要な情報量と、英文で書かれている情報量に齟齬が発生する。

逆に英語の長文でしっかりと説明するとどうなるかというと、今度は誰も読まなくなるか、読んでも曖昧な理解に終わるか、あるいは機械翻訳にかけられる。それなら最初から日本語で書いたほうがずっといいはずだと思う。

誰のためのコメントやログなのか

コメントやログの本質は、それを読み手に理解してもらうことにあると思う。なのでそこが英語だろうが日本語だろうがアラビア語だろうがバスク語だろうが、チーム内・社内でもっとも伝わりやすい言語を意識的に選択すべきだと思っている。

だから、たとえば開発は日本語話者しかいないけど、ログは海外のお客さんも読むという場合は、ログはその海外のお客さんに応じた言語で書いた方がいいはずで、十把一絡げに「常に日本語をつかうべき」だとは思わないけど、少なくとも日本語が飛び交っている会社で英語を使うメリットはほぼない。
*

どうやって英語コメントをやめるか

英語コメントをやめるには、そのチーム内や会社内で英語ができる人が率先して英語コメントをやめようと言っていかなければなかなか難しいと思う。

どれだけ筋が通っていようが、英語が得意でない人が「英語やめよう」と言うと、なんだか負け犬の遠吠えのように聞こえてしまって無視されるからだ。不満もいだきやすい。

「ヤツは英語ができないからあんなことを言い出したのだ」と思われてしまうかもしれない。根本的には英語至上主義のせいだと思う。

みんな英語やめよう。

Discussion