@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

プログラムで日本語を使うことについて

投稿者投稿内容
くまのぷーさん
常連さん
会議室デビュー日: 2003/12/18
投稿数: 34
投稿日時: 2003-12-20 14:08
VB.NET初心者で、VBA(主にEXCEL)から.NETへの移行を行っています。

私の持っているVB.NETの本には、「変数に日本語を使うことは推奨しない」と書いてあるのですが、具体的にどんなデメリット、不具合があるのでしょうか。

今まで作ったVBAのプログラムでは日本語の変数名をたくさん使っていたので、これを英語もしくはローマ字にするのは、かなりシンドイというか、正直イヤなのです。実行上問題があるというのであれば、そうせざると得ないのでしょうが、「推奨しない」、というのはどの程度のものなのか、どなたか教えていただけませんか?
m.ku
大ベテラン
会議室デビュー日: 2002/09/15
投稿数: 184
投稿日時: 2003-12-20 15:05
>「推奨しない」、というのはどの程度のものなのか

開発上、支障が無ければ問題ありません。
ただし、チーム開発や各種ツールを使うようになると支障が出る場合が"多々"あります。
使用するソフトウェアによっては不具合の原因になることもあります。
その意味での「推奨しない」ということかと。
それを踏まえた上で、調査の上、日本語変数の使用の可否を決めれば良いでしょう。

#私は業務でも遊びでも使ったことは一度もありませんが。
ジェイ
ベテラン
会議室デビュー日: 2002/10/06
投稿数: 62
投稿日時: 2003-12-20 23:18
そのアプリ単体で使うと言うことなら、
問題はないのかも知れませんが、
何かと連動させるとなんとなく不具合が出そうな気がして、
私もm.kuさん同様使ったことがありません。
※不具合が出そうと言うのには、深い理由はありません、
後々何かバグのトリガーになりそうな気がしているだけです・・・。

#私はSQLの別名などでも日本語を使ったことがありません。
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2003-12-21 23:55
>具体的にどんなデメリット、不具合があるのでしょうか。

メリットとしては、慣れている人にとって見やすくなる程度でしょうか...
ディメリットは結構あります。
・慣れていない人にとっては見難い。
・コーディング規約が作り難い(複数人数での開発時)
・違うOSや開発言語に移植する際、手間がかかる場合がある。
  (SJIS→EUC、拡張漢字の扱い、英語版OS環境での動作等)
・基本的に外国製の開発ツールであれば、思わぬ不具合が発生する可能性が
 ある。(推奨しない=動作するとは限らない)
・データベース等のテーブル名、フィールド名は対応していないものもあり、
 データベースが変わると使えなくなる可能性がある。

主にこんなところでしょうか。EXCELのマクロといえども、同じ事で英語版の
OS上の英語版EXCELでは不具合が発生するので、このあたりが全く関係ない
個人的なプログラムでは動けばOKでしょう。
でも、仕事で作るならまず日本語変数は使いません。それどころか最近では
インターネットという世界中の環境化で動くようなものでは、コメントも
日本語禁止の場合があります。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-12-22 10:02
ども、ほむらです。
以前JAVAのほうで似たようなスレッドを立てたことがあります。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6235&forum=12&19

読みやすくなるというメリットが割と大きいということがあり、
最近は、割と市民権を持っているようです。

注意すべき点として他の連携ツールとの相性が有ります。(これが一番ネックでしょう)
JAVAそのものでは支障は無かったけど、連携していたツール(この時はcygwinのmakeらしい)
で障害が発生したようですね。
他にも文字コードとか対応/非対応の問題がありますが
固定された環境という前提の中ならば。。。


#個人的に思うデメリットは全角半角の切り替えが^^;;;;;
#いずれにせよ、日本語を使うことに関しては今後変わっていくと思います。
#またはまだ十分な対応が取れいないかもしれませんが。。。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-12-22 10:49
 実際に使ってみましたが、インテリセンスの利きが悪い。日本語入力に切り替えたときに選択ウインドウが消えてしまう(ATOK15)。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2003-12-22 11:47
引用:

くまのぷーさんさんの書き込み (2003-12-20 14:08) より:
私の持っているVB.NETの本には、「変数に日本語を使うことは推奨しない」と書いてあるのですが、具体的にどんなデメリット、不具合があるのでしょうか。



一応、.NETでは「Unicode 3.0 標準の Report 15、Annex7 に準拠」が、
変数名等に利用できる文字列ということらしいです。
しかし、英数字以外を使ったコーディングを十分にテストしているわけではなく、
「理屈上は」ということだと思います。

日本語(や全角)には鬼門がたくさんあります。
開発上の懸念事項。
・文字コードが複数ある。
・記号類全般。最近では、UNICODE絡みで〜の文字のトラブルなんかが有名かも。
特に、ー(横棒ものはIME2000で6種類も!!)、全角スペース。
見た目でどの文字か判断できないものがある!
・数字。(全角数字と半角数字は同一視される場合に困る)
・シフトJISでの文字コードで、"\"と同じ文字コードが含まれているもの
・日本語には大文字、小文字の概念がない。
(コーディングのガイドラインに沿うことはできないので、MSのガイドライン(=標準)から外れる)
・リフレクションもちゃんと使えるんだろうか?
(自分のプログラムでリフレクションを使わないとしても、開発サポートツール類には、
リフレクションを利用しているものも多い)

開発形態としての問題。
・昨今はオフショア開発に移行しつつあるので、海外に発注する際に問題となる(可能性が高い)

他にもあるかもしれませんが、何にしてもトラブルの元なので私は使いません。

自分たちの前提とする環境、ツールにおいて、コーディング等に使用する文字列で
使用する文字がすべて問題ないのであれば、使ってもまったく問題ないと思います。

上にも書いたように.NETでは一応、
「Unicode 3.0 標準の Report 15、Annex7 に準拠」となっているので、
この範囲の文字であれば、たぶん大丈夫なのでしょう。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2003-12-23 22:53
ツール類を使える便利さと、日本語の読みやすさの開発効率への
メリットを天秤にかけるだけです。日本語COBOLも昔から消えていませんし。
中核部でないなら日本語変数名も十分ありとおもいます。
いずれ、中国語のソースを読む状況になるかもしれません
(有人衛星が上がるくらいですし)

スキルアップ/キャリアアップ(JOB@IT)