• ベストアンサー

変数・オブジェクト名に漢字使用

事務機器操作の派遣社員ですが、 時々VBで簡単なプログラムを組んでいます。 VBでは変数・オブジェクト名に漢字が使える(例外もありますが) のを知ってから、積極的に漢字を使って名前をつけてます。 アルファベットだとどれがコマンドやら、ぱっと見で わからないなーと思いまして。 でも、漢字で名前をつけるとリソースを消費するとかで あんまりよくないと聞きました。 今の職場ではそんなに大掛かりなものは作らないので 大差ないと思うのですが、 やっぱり本職の方(プログラマ)は漢字とかは使われないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.3

リソース云々は、もう解答されているのでコーディング面で。 確かに日本語名が使えるので、見た目でわかりやすいと思うのですが >やっぱり本職の方(プログラマ)は・・・ と書かれているので申しますと、コーディングする言語はVBに 限るわけではないので、多言語でのアプリケーション開発となると 使用されるものがやはり日本語が使えないものもあります。 極力は、日本語名よりはアルファベットでの表記に慣れる方が良いと思います。 まぁ、それではわかりずらいと言うのもわかりますが、その為にコメントと 言うのが存在するわけです。 後は、命名規則をしっかりしておけば早々困惑はしないと思いますよ。

koyuki2001
質問者

お礼

>コーディングする言語はVBに限るわけではないので、 そうなのですか・・・それを失念しておりました。 それならば、アルファベットでの表記に慣れる必要性も わかります。 私の場合、職場がVB以外はやりそうにないので、 どうしようかな、と思いますが。 回答ありがとうございました。

その他の回答 (4)

noname#62349
noname#62349
回答No.5

私はオブジェクト名には漢字使って変数名はアルファベットに してます。全部漢字だと逆に混乱してしまって… 漢字使ってもいいと思いますよ。簡単なプログラムとの事。 ソースがわかりやすくなっていいのでは。 大規模なシステムでVB以外のものがいろいろ絡んでる場合は やめたほうがいいかなーと思いますけどね。 ただ経験として全角の数字、記号は避けた方がいいと思います。 コーディングしてるとVBが勝手に半角にしちゃったりするので 存在しない変数だと思われてエラーになることがあります。 半角にならないようにする書き方をすればいいのですが いちいちそういうことを気にして書かないといけないし 自分はわかってても他の人がプログラムのメンテナンス したときにバグを誘発します。

koyuki2001
質問者

お礼

>大規模なシステムでVB以外のものがいろいろ絡んでる場合 多言語がまじりあうシステムっていうのもあるのですね。 確かにそういう場合はVBがいいからって日本語は 使ってはいけませんね。 >全角の数字、記号 アドバイスありがとうございます。 今のところ全角の数字・記号は使ってませんが 以後気をつけようと思います。 回答ありがとうございました。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

>今のPCは性能が上がってるから変数を日本語にしたところで >大差ないということでしょうか。 通常コンパイル後のバイナリには 変数名の情報ははいっていません。 VBAや、VBでのデバック段階では 変数名のデータは必要になりますので 変数名が長いと多少はメモリに関係するでしょう。 ただし日本語であるかどうかは関係ありません。 VB(windows)はUNICODEで処理している為、全角であろうと半角であろうと1文字 2バイトで扱われます。 とはいっても、日本語は使うことはほとんどないのではないでしょうか? コードを自分だけが見る分には問題ないですが、ほかの方もみると思うので 日本語は極力さけたほうがいいかと思います。

koyuki2001
質問者

お礼

>通常コンパイル後のバイナリには変数名の情報ははいっていません。 はっ、そうですよね・・・ 機械語に直されちゃったら日本語も何もないですね。 >ほかの方もみると思うので日本語は極力さけたほうがいいかと思います。 やはり、慣れてなければ日本語の方が読みにくいですか・・・ もういちど職場の人に聞いてみようかと思います。 回答ありがとうございました。

  • jincyan
  • ベストアンサー率36% (4/11)
回答No.2

リソース云々は昔のことで特に日本語を使用するのが悪いことではないと思います。 でも変な拘りを持っている方が多いのもプログラマの世界だと思います。そんなのは邪道だと思う方も存在するのは事実だと思います。 でも肝心なことは生産性の良さとメンテナンス性だと思います。 同じ環境ならコーディング規約的なものを作りその世界の中で統一性を持たせればある程度は何でも有りではないかと思います。

koyuki2001
質問者

お礼

>リソース云々は昔のことで 今のPCは性能が上がってるから変数を日本語にしたところで 大差ないということでしょうか。 >コーディング規約的なものを作りその世界の中で統一性を持たせれば いちおういろんな本読んだりして、プリフィックスはアルファベット3文字で 付けたりとかして私なりにはやってるのですが。 職場にも同じようなプログラム組む人はいるのですが、 「自分なりにわかりやすければそれでいいよ」とか言われ 逆にこれで大丈夫かな、と思う今日この頃です。 これから勉強していきたいと思います。 回答ありがとうございました。

  • i536
  • ベストアンサー率32% (75/231)
回答No.1

私は Visual Basic のコーディング規則と、 アルファベットまたは日本語を自由に組み合わせて関数名・変数名に使用していますが、 これによって問題が発生したことは一度もありません。 おっしゃるとおり、日本語は一目で機能が認識できるので便利です。 しばらく開発から離れた後で、メンテナンスするときも楽ですよ。

koyuki2001
質問者

お礼

>しばらく開発から離れた後で、メンテナンスするときも楽ですよ。 そうなんです。しばらく経ってからコードを見直すと 「これ、何の変数だったっけ?」とか思い出すのに時間がかかります。 日本語だとそれがだいぶましなんですよね。 回答ありがとうございました。

関連するQ&A

  • オブジェクトの名前の付け方

    まだまだ、VB初心者なのですが、今年からVB.NETにチャレンジしています。 以前、VBを教えてもらったときに、オブジェクト名や変数名の前には、プリフィックスという3文字のアルファベットをつけて識別するのが、慣例のように聞きました。 今回、本を探してみると、以前のように「lblName」といった書き方をしているのもあり、「NameLabel」というのもあり、わかればいいって感じのもあり.....。 こうゆうのってどうでもいいのでしょうか? できるだけ、どんな人にも通じるプログラムにしたいので.... そんなこと気にしなくてもいいよっていう回答でもかまいません、よろしくお願いします。

  • オブジェクトを変数名で使用したいのですが

    初めまして。 AccessのVBAを使用しているのですが、 コマンドボタンを10個用意して、 名前をそれぞれ1~10にしたのですが、 それらを繰り返し処理をしたいのですが、どうしたらいいですか? 例えば、 for i = 1 To 10 i.enabled = True Next i という風にしたかったのですが、 できないんです。 助けてください。

  • オブジェクト名に変数は?

    List1 List2といったオブジェクト名についている「1」とか「2」と言った数字を変数に出来ないのでしょうか? List1.Clear List2.Clear と一つずつ記述するのでなく、たとえば for I=0 to 2 ListI.Clear next i みたいにならないのでしょうか?VB6使ってます ご教授お願いします。

  • オブジェクト名に変数を使いたい

    <form id="form1" name="form1" method="post" action=""> <label for="q1-1"><input id="q1-1" name="q1" type="radio" value="1" />あ</label> <label for="q1-2"><input id="q1-2" name="q1" type="radio" value="0" />い</label> <label for="q1-3"><input id="q1-3" name="q1" type="radio" value="0" />う</label> <label for="q1-4"><input id="q1-4" name="q1" type="radio" value="0" />え</label> <label for="q2-1"><input id="q2-1" name="q2" type="radio" value="1" />あ</label> <label for="q2-2"><input id="q2-2" name="q2" type="radio" value="0" />い</label> <label for="q2-3"><input id="q2-3" name="q2" type="radio" value="0" />う</label> <label for="q2-4"><input id="q2-4" name="q2" type="radio" value="0" />え</label> </form> ============================================================ 上のような4択の問題が10問あります。 これを採点して合計点数を表示させたいと思っていますが、 下記のようにfor文を使う際、オブジェクト名の、"q1"の"1"というところに変数nを使いたいのですが、やり方がわかりません。 ============================================================ for(var n=0;n<10;n++){ var length=document.form1.q1.length; for(var i=0;i<length;i++){ var checked=document.form1.q1[i].checked; if(checked==true){ ans = i; } } var value=document.form1.q1[ans].value; } ============================================================ いろいろ調べてみましたが、うまくいかず固まっております。 どなたかご教授いただけませんでしょうか?

  • エクセルで複数のコマンドボタンの貼り付けについて

    エクセルで複数のコマンドボタンの貼り付けについての質問ですが、 VBの用に配列で貼り付け(Indexをつける)はできないのでしょうか? オブジェクト名に同じ名前を入れてもエラーになるだけで、配列にできません。 command_click (index)のようにする方法はありませんか?

  • 変数名に変数を使用

    for文を使って,double型の変数test1,test2,test3…をN個生成したいのですが,どのようにすればいいのでしょうか?

  • オブジェクト名を変数で参照できますか

    VB初心者です。 配列の場合 Dim str(10) as string と宣言し、i番目のデータを取り出したいときには、str(i) と記述すると思います。 そこで質問ですが、例えばCommandが1~10まであるとします。 オブジェクト名はそのまま(Command1, Command2)で、それぞれのCaptionに違ったデータが入っています。 (例えば、Command1のCaptionには'A' Command2のCaptionには'B'といった感じに) ある文字列があり、For文を使い、CommandのCaptionとその文字列が一致したときに文字列を出力するという処理を行いたいとき、どのように Command1~10のCaptionを回せばいいのでしょうか? コードを記述しておきます。 Dim str(10) as String Dim i as Integer Dim j as Integer for i = 0 to 10 for j = 0 to 10 ☆☆ if Command(i).Caption = str(j) then print.str(j) end if next next ☆☆のところです。 可能であれば回答をお待ちしております。 環境は windows XP, VB6.0 です。

  • 変数名に変数を使用

    $AAAという変数の後にforで変化する変数$iをつけたいのですが、 (FILE1,FILE2…と変化するように) どのようにすればいいのでしょうか? $AAAと$iを.で結んだりダブルクォーテーションで囲んでみたりしたのですがダメでした。

  • xcodeでオブジェクト名に変数値を使えますか?

    Xcodeでiphoneアプリ勉強中の初心者です。 変数の値をオブジェクトの名前として利用する事は可能でしょうか? (過去の質問履歴を探しましたが、他の言語については掲載されていましたが、xcodeやobject-cに関しては類似する質問を見つける事が出来ませんでした。) 例えば、3つのラベルが配置されていて、ソース中(.mファイル)に以下の記述があったとします。 labeldayo1.text = @"1"; labeldayo2.text = @"2"; labeldayo3.text = @"3"; こののラベル部分を for (loop=1;loop<=3;loop=loop+1) { labeldayo(loop).text = [NSString stringWithFormat:@"%d",loop]; } みたいな感じで、変数の値をオブジェクトの名前として利用する事は可能でしょうか?? もし可能な場合、どのような記述方法があるのか、ご教授いただけたら幸いです。

  • VBAでオブジェクト名を変数にしたい。

    教えてください。 EXCELでオブジェクト名CheckBox1の1を変数で変化させたいのですがどのように記述すれば良いのでしょうか。 例 CheckBox1.Value = True のCheckBox1の1の所です。 宜しくお願いします。

専門家に質問してみよう