おすなのぶろぐ

プログラミングとかの Tips 置き場。

命名規則 - 英語 VS 日本語

仕事で VB6/VBA を未だに使っているのだが、その命名規則で僕の職場では日本語を使うルールがある。
個人的には英語の方が好きなんだけど、理由もなく英語に言えないので、まずはできるだけ客観的にメリット/デメリットを書き出してみた。ちなみに、基本的に日本人しかコーディングしないのが前提です。

命名方法 メリット デメリット
英語
  • IntelliSense が使いやすい
  • 日本語よりは半角⇔全角の切り替えが少なくなる
  • 単語の区切りが表現しやすい/見やすい
  • 英語の語彙力がないと名前が付けにくい場合が多い
  • 英語の語彙力がないと読みにくい場合が多い
  • 英語に訳せない(訳しにくい)言葉がある
  • コメントが多くなりやすい
日本語
※ローマ字ではない
  • 直感的に分かりやすい名前を付けられる
  • 直感的に読みやすい場合が多い
  • コメントが少なくしやすい
  • 単語の区切りが表現しにくい/見づらい
  • IntelliSense が使いづらい
  • 英語よりは半角⇔全角の切り替えが多くなる
  • Microsoft が公式に使用できないと言っている(VB6)
  • 一部の条件で日本語名のプロシージャが実行できない(Access 2002)
  • 日本語長音による不具合あり(SQL Server

なんだかどっちもどっちな感じ。まあ、大したものじゃないけどこれを参考にしてもらって、英語と日本語のどちらの方がうれしさがあるか職場のメンバーに考えてもらおう。 以下に日本語のデメリットでソースがあるものだけ置いておく。

  • Visual Basic でプロジェクト名に日本語の文字を使用できない
    http://support.microsoft.com/default.aspx?scid=kb;ja;418924
    Visual Basic では、プロジェクト、コントロール、フォーム モジュール、クラスモジュール、標準モジュール、変数、定数、およびプロシージャの名前に日本語の文字を使用することができません。

    ちゃんと調べていなかったので知らなかった。普通に使えていたので意外。