オルタナティブ・ブログ > 一般システムエンジニアの刻苦勉励 >

身の周りのおもしろおかしい事を探す日々。ITを中心に。

日本語をローマ字読みした変数は好きですか

»

昨日、一昨日に続いてプログラムの話題です。

システムハンガリアン記法は時代遅れ?
http://blogs.itmedia.co.jp/yohei/2008/04/post-fcac.html

一行で一目置かれるプログラム
http://blogs.itmedia.co.jp/yohei/2008/04/post-52d8.html

先日とあるソースコードに目を通していたところ、気になる変数がありました。flgHenkoというものです。悪い事に、人を管理する属性として使用されています。気になる人は関西に縁のある人だと思いますが皆さんはいかが思いましたでしょうか。

Henkoというところから変更フラグなのではないか、というのが通常の見方だと思います。が、最後のUを補わないで読むとこれはヘンコになってしまいます。ヘンコとは関西弁で変な奴とか頑固者という意味ですので、それが人の属性になっているのがおかしくて笑ってしまいました。

こういった日本語のローマ字読みの変数名というのは人により好き好きが分かれるところだと思います。コーディング規約で定まっている場合はプロジェクト全体で英語やローマ字読みに統一されるので問題ないでしょうが、これが統一されていないと生産性が悪くなってしまいます。

ではどちらに統一したほうがいいかというと、これもまた一長一短があります。まず英語に統一する場合を考えて見ますと、さきほどのflgHenkoはflgChangeかflgUpdateあたりが妥当かと思います。通常であればflgChangeで十分に意味が通じると思われますが、DBを更新するような場合はflgUpdateのほうが良いかもしれません。こういった場合に単語の選択を誤ってしまうと余計な混乱を招きかねません。

また、英単語がさらっと出てこないような言葉が頻出する業務を取り扱うこともあります。例えば医療の分野で初診料や再診療と言われてもどんな単語が当てはまるのかわかりません。こういった状況になると辞書を頼るしかありませんが、プログラミングを離れて英語の辞書を引くというのもあまり生産性が良くないように思います。

一方でローマ字に統一する場合は冒頭で紹介したようなヘンコと変更のような問題があります。ローマ字の記述方法は「ヘボン式による」というように定めておけば記述のブレを減らす事ができます。しかしローマ字で記述すると意味が二通り以上に取れる場合もあるために考慮が必要となってきます。

一部の言語ではマルチバイト文字をそのままソースコード内で使用することができます。そうすれば、冒頭のflgHenkoも『変更フラグ』として表現することができます。「ひまわり」でも使わない限りは制御構造などは半角英数字で構成されますので、コーディング中のかな漢字変換が面倒そうな気がしますが、これが一番読んで理解しやすい構造であると思います。それに、変数名をわかりやすくすることでわざわざコメントを入れる必要も減るかもしれません。

これから先、外国のIT技術者を引き入れて開発する場面が増えるかもしれませんので、英語による命名に慣れていたほうが有利になってくるでしょう。しかしあまり英語が堪能でない人材が多いプロジェクトもあるかもしれません。そういったときはプロジェクトメンバーの1人に『変数ライブラリアン』を任せて開発ができると良いかなと思いました。

Comment(4)