37
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ソースコードの変数やメソッドを日本語で書いてはいけない理由

Posted at

アルバイト的に手伝いしている会社のプログラムソースの変数名やメソッド名が日本語混じりだった泣きたい(C#なので普通にvar d入力値とかやっても怒られない)。

まあそれはそれとして、「ソースコードを日本語で記述して何が悪いのか」という明確な根拠が自分の中ではっきりしていなかったので、いくつか列挙。他にもあれば教えて頂けると助かります。

クローズドなプロジェクトでも問題になること

  • プログラムコードを書くだけでもIMEを使うため、コードの入力効率が落ちる
  • IDEの宣言インクリメンタルサーチ機能が使えない(先頭を英文字にすればある程度緩和は可能)
  • ソースコード管理ツールが標準で持っているDiffツールが不具合を起こすことがある(文字コードの問題)
  • ソースコード管理ツールによっては、日本語の変更を正しくマージできないことがある。
  • 将来的にプログラマを増員するときに、プログラマのPCに日本語入力環境がないと開発に参加出来ない
  • 言語によってはコードに日本語が使えないので、複数の言語を使い分ける人にとって特に困る

オープンソースなプロジェクトでも問題になること

  • そもそも日本語が入力・表示できない人には理解できない
  • 見た目的にカッコ悪い

日本語OK、日本語NGのプロジェクトを掛け持ちするプログラマ自身に発生する不都合

  • プロジェクトごとに日本語の使用可能・不可能を分けるのは混乱の元になる
  • IMEが前のプロジェクトの内容を学習してしまい、さらにプログラムが面倒になる可能性がある

ソースコードに日本語を含めるメリット

ただ、開発者の人曰くメリットもあるにはあるので、その辺も触れてみる

  • 難読化に繋がる(安堂ロイドで出てきたアラビア語プログラムと同様)
  • それぞれのメソッドや変数が何を表しているのか、パッと見て分かりやすい(が、単純な英単語くらい覚えろよと言う気もする)
  • 複雑なメソッドの名称を決めるときに命名に迷うことがない

さあて、列挙してみるとあきらかにデメリットの方が多いような気はする。もちろん、メリットもメリットで結構おいしい効果はある気はしますが(特に命名に悩まなくて済むあたり)。
ただ、某作曲家さんの作曲指令書のように、ちゃんと他人に読める形式にするために何らかのコンバート作業が必要になってしまう以上、できるのならなるべく誰でも読めるソースコードにしようよ と。

まあ、そんな結論で良いんですかね。

37
33
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?