- PR -

VBで日本語の関数や変数って有り?

投稿者投稿内容
ごー
ベテラン
会議室デビュー日: 2003/08/29
投稿数: 51
お住まい・勤務地: いるかホテル
投稿日時: 2004-08-16 10:38
こんにちは。ごーです。
私は日本語でコーディングするのは一長一短だと思います。
日本語であれば、読みやすく表記することも可能ですが、
案外、英字の方が分かりやすいものもあります。
(コード→CD、削除→Delete)
同じ「Insert」という意味を表す場合でも「挿入」、「追加」、「登録」など複数の表記をされてしまう場合もあります。
また、パンチする場合を考えると日本語は好ましくないと思う人が多いように感じます。
その他にも、英字には大文字、小文字が使えるというメリットがありますが、日本語にはそれができないので
プリフィックス、サフィックスなどは使いづらいでしょう。

ただ、日本語でコーディングするとうまくいけばコメントの量を激減させることが可能です。
経験上、日本語を使うに適しているのはメソッドや関数名と思いますので、それらの部分でにつかうのがベターかなと思います。

自分は実際にwindows2000 + VB6.0 + SQLServer の環境で日本語をバリバリ使ったシステムを作ったコトが
あるのですが技術的な部分で特に問題は発生しませんでした。
問題が発生する可能性がないとはいいませんがその点の不安はかなり解消されてきていると思います。

なので上記のようなメリットとデメリットを秤にかけてよいと思えばつかわれたらよいのではないでしょうか?


_________________
Javaをめぐる冒険中

[ メッセージ編集済み 編集者: ごー 編集日時 2004-08-16 10:44 ]
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-08-16 11:00
引用:

ごーさんの書き込み (2004-08-16 10:38) より:
日本語であれば、読みやすく表記することも可能ですが、
案外、英字の方が分かりやすいものもあります。
(コード→CD、削除→Delete)


 うーん、私の経験だと、アルファベットを禁止していた訳ではなく、
全て全角ってなだけだったので、特に問題なかったですね。
英語、日本語がどうのこうのじゃなくって、
全角を使ってよいかどうかってことですよね・・・。

引用:

ごーさんの書き込み (2004-08-16 10:38) より:
同じ「Insert」という意味を表す場合でも「挿入」、「追加」、「登録」など複数の表記をされてしまう場合もあります。


 こんなことは同でも良いかと・・・。
だいたい、日本語特有のことでもないですし。
未記入
大ベテラン
会議室デビュー日: 2003/11/24
投稿数: 121
投稿日時: 2004-08-16 11:26
引用:

こんなことは同でも良いかと・・・。
だいたい、日本語特有のことでもないですし。



「登録」と言っても、insert, add, set など考えられますね。
ごーさんはデータベースを扱っているので、insert なのでしょう。

と、ここで、私が今までこだわってきたのは、「英語」「日本語」ではなかったことに気が付きました。
私がこだわってきたのは「原語」「訳語」だったようです。

たとえば、業務系システムの開発で、ユーザーが「発注書」と言っていれば
ソースコード中でも「発注書」または「HACCHU_SHO」とすべきだと考えています。
プログラム中の変数名を OrderSheet にするなんて信じられません。

これは、日本語にすべきということではなく、概念を共有するために原語、
つまりユーザーの使用している言葉をそのまま使うべきということです。

データベースにデータを追加するときは insert 文を使いますね。ですから、
その操作をラップしたプログラム中のメソッドも insert_発注書 としたほうが
分かりやすいと思います。これを add_発注書 などとしてしまうのは良くないでしょう。
これは、原語が insert なので、「add」も「挿入」も不適切だと考えるからです。
ごー
ベテラン
会議室デビュー日: 2003/08/29
投稿数: 51
お住まい・勤務地: いるかホテル
投稿日時: 2004-08-16 11:27
引用:

takuさんの書き込み (2004-08-16 11:00) より:

うーん、私の経験だと、アルファベットを禁止していた訳ではなく、
全て全角ってなだけだったので、特に問題なかったですね。
英語、日本語がどうのこうのじゃなくって、
全角を使ってよいかどうかってことですよね・・・。



確かにそうですね。ただ、全角のアルファベットって個人的に嫌いなんですよ


引用:
ごーさんの書き込み (2004-08-16 10:38) より:

同じ「Insert」という意味を表す場合でも「挿入」、「追加」、「登録」など複数の表記をされてしまう場合もあります。



実際に「統一しろ!!」と怒られたことがあります。
日本語を使うことにより、使用可能な単語が広がるので意外な落とし穴があったという苦労話です。でも、全角を使うことができるという選択肢が広がることは決して悪いこととは思っていません。


追記
引用:

「登録」と言っても、insert, add, set など考えられますね。
ごーさんはデータベースを扱っているので、insert なのでしょう。



自分は英語のボキャブラリが少ないということですね。反省。
もっと英語も勉強せねば・・・


_________________
Javaをめぐる冒険中

[ メッセージ編集済み 編集者: ごー 編集日時 2004-08-16 11:30 ]

[ メッセージ編集済み 編集者: ごー 編集日時 2004-08-16 11:31 ]
Vacant-Eyes
ベテラン
会議室デビュー日: 2004/08/15
投稿数: 97
投稿日時: 2004-08-16 13:05
すみません。議論を起こしてしまいました。
ぼんじいさんのおっしゃるとおり、
引用:

結局はその職場のポリシーの問題だと思いますが・・・


結局は、SIerや、システム開発を発注するお客さんによりますよね。
でも、統一性を持たせたほうがよいというのはそのとおりだと思います。

また、今後日本で使うシステムでもオフショア開発が増えてくるでしょうし、
アジアで英語ができないエンジニア(エンジニアだけではないですが)には
日本人が多いと聞いたことがあります。

あくまで個人的な目標として、世界の公用語の1つになりつつある英語で
コードが書けたらいいなぁ、という夢は持っています。
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-08-16 13:48
元の投稿の「日本語」ってマルチバイトというか、所謂「全角」ってことで
すかね?(そうとして進めますが)

まず、全角の変数名、関数名等の使用については慣れとか、好みでコーディング
規約上で決めておけば良いと思います。ただし、条件があります。

条件というのは、
・その言語のコンパイラなり実行環境なりで保証が取れていること。(なんたって
 外国製の言語や環境を使うのですから、何か不具合があるかもしれません。)
 保証しているものってのはあるかどうかわかりませんが、少なくとも何らかの
 テストは必要でしょう。

・他の環境に移行・共用化する可能性が低いこと。
 CやJAVA系等マルチな環境でソースを共用したりする場合、必ず全角文字
 には変換が必要になったりします。思わぬところで機種依存文字を使っていたり
 して、手間がかかる場合もあるので。
 また、日本語環境で無い環境への移行の場合にも、最近はそれなりにコードベース
 でそれなりに変換されたりもしますが、変な文字に変換されたりして余計にわか
 りにくくなったりします。

・DB他同時に使うTool類も対応出来ている事。
 例えば、VBで全角がOKとしても、DBや組み込んでいるTool、ミドルウェア
 で対応が取れていない場合等はそこだけ、シングルバイト(というかANK)文字を使
 うというように統一が取れない部分が生まれます。
 
まだあるかもしれませんが、このあたりのリスクが回避できるなら使っても良いとは
思いますが、使う事で相当なメリットが無いようなら、使わないほうが賢明かと。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2004-08-16 17:09
誰もVBのバージョンを問わないのが不思議でならないんですが・・・。
そもそもVB6以前は全角でのコーディングをサポートしていません。
例えば、下記のように問題があることが明言されています。

Visual Basic でプロジェクト名に日本語の文字を使用できない

また、VB.NETでは命名に、「Unicode 3.0 標準の Report 15、Annex7 に準拠」した文字が
使えることになっていますが、所詮は外国の製品ですから、私はあまり当てにしていません。

なんせ「日本語でいろんなソースコードを記述し、問題ない!」という確認のテストは行われていないのですから。
現に.NET Frameworkでも日本語(というか欧米で使われない文字)絡みの不具合は多数でています。

後、.NET(やJavaやその他のほとんどの言語)そのものが大文字小文字のあるアルファベットを前提としていますので、日本語にはこれがありません。これは結構致命的です。
Microsoftの提示しているコーディング標準に準拠することができません。
これができないということは、この前提を利用した便利な各種ツールも使用できないということで、
VB.netで使える(市販製品/フリーツール等々の)さまざまなツールの使用に制限もでてくることが容易に想像できます。

データベースも開発サポートツールも市販コンポーネントも一切使わない、
という話なら別に日本語を使う使わないは好みの問題であるところが大きいと
思いますが、そうでないなら、日本語を使うという選択はあり得ないですね。
自分のプロジェクトでそういう方向に進む気配があれば全力を持って阻止します。

ぷじょー
会議室デビュー日: 2004/07/08
投稿数: 16
投稿日時: 2004-08-16 17:17
大勢の皆さん、ご意見ありがとうございます。
私も日本語を使う習慣はないのですが、ローマ字で
変数名などを書いてると無駄に長くなってしまったり、
省略すると意味不明になったりするので、
「もしかして最近は日本語も普及してたりする?」と
思い、質問させて頂きました。

Beatleさんや、よねKENさんが書かれてる「所詮、外国製」ってのは
大納得です!

ありがとうございました。

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