- - PR -
shared な変数の参照
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-12-26 09:20
ハンガリアン記法って、型や用途などの付加情報を接頭辞や接尾辞として識別子(変数名)に折り込むという手法ではないですか? クラス名を付けてクラス変数であることを明示したり、this(VB.NETだとMe?)を付けて、インスタンス変数であることを明示することは、ハンガリアン記法ではないと思います。 それとも、クラス変数、インスタンス変数、ローカル変数は、(大文字で表記したりアンダーバーを付けたりして)識別子自体を分けておけばよい(アプリケーションハンガリアン記法を使えばよい)という主張でしょうか? | ||||||||
|
投稿日時: 2008-12-26 10:04
アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法である[ メッセージ編集済み 編集者: べる 編集日時 2008-12-26 10:04 ] | ||||||||
|
投稿日時: 2008-12-26 11:22
そうですね。私もそう認識しています。ところで、あなたは日本語を母国語とされている方でしょうか? 「アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法である」 この日本語の意味分かりますか?これは、もう少し分かりやすく書くと「アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法のひとつである」となります。決して「間違えたコードを間違えて見えるようにする記法はすべてアプリケーション ハンガリアンである」という意味にはなりません。 クラス名や this を明示することは「間違えたコードを間違えて見えるようにする」手法のひとつではありますが、それが即ちハンガリアン記法だということにはなりません。 -- 追記 リンク先読みました。「識別子の使用方法・データ型情報・スコープ範囲などを分かるようにするための命名法である。」と識別子の付け方に関するものであることが書かれています。やはり、(識別子の外側に)クラス名や this を付加することはハンガリアン記法ではないですね。 [ メッセージ編集済み 編集者: 未記入 編集日時 2008-12-26 11:27 ] | ||||||||
|
投稿日時: 2008-12-26 11:26
その警告の中に Me のかわりにクラス名をつけるよう、修正候補が表示されていませんか? | ||||||||
|
投稿日時: 2008-12-26 12:37
思い込みとすれ違いの哀愁のスレッド
Jittaさんが書いてるのは、 「静的であることを示すのは、アプリケーション ハンガリアンなのでハンガリアン記法を使って区別してはどうでしょうか」 って解釈が普通だと思いますが・・・ 未記入さんが 「MeやThisはハンガリアンでは・・・」 というのは、リンク先みたらわかりますよね? 筋違いですよってのがべるさんの書き込みですしょう。 「ところで、あなたは日本語を母国語とされている方でしょうか?」 そのままお返ししたい所ですね。なぜこのような差別的な発言をされているのでしょうか? 「日本語を母国語」としていても勘違いは誰にでもあることでしょう。 意見を言いづらくなるような発言はお控えいただきたいです。 | ||||||||
|
投稿日時: 2008-12-26 13:00
そうですね。私もそういう意味だと解釈しました。そのうえで、「静的であることを示すのは、アプリケーション ハンガリアン」であるということに異議を唱えています。 ハンガリアン記法で、クラス変数に特別な接頭辞を付けることで「静的であること」を示すことはできます。でもね。クラス名を付けて(つまり別の手法で)「静的であること」を示した場合はハンガリアン記法とは言わないんです。識別子に細工をしているわけじゃないんですから。
なぜ差別的だと感じたのですか?私は差別意識など持っていませんけど。 | ||||||||
|
投稿日時: 2008-12-26 13:23
やはり勘違いされていますよ。
ThisやMe、クラス名を先頭につけるのではなく、静的であるという意味の接頭語を設けて変数名として使ってはどうでしょうかとおしゃっているのですよ。 ThisやMeをハンガリアンなんてだれも言っていません。 未記入さんの書き込みの中で勝手に言っていることですよ。
発言はあなたの意図ではなく、受け取る側の感じ方でかわるものです。 わたしには「日本語わかりますか?」といった攻撃的な発言に聞こえます。 まぁわたしだけがそう感じたのなら、問題ないでしょう。 | ||||||||
|
投稿日時: 2008-12-26 14:12
> クラス名を付けて(つまり別の手法で)「静的であること」を示した場合はハンガリアン記法とは言わないんです。識別子に細工をしているわけじゃないんですから。
それは誰もがわかっていると思いますよ。 クラス名をつけて区別する方法は以前から出ています。 > 「静的であることを示すのは、アプリケーション ハンガリアンなのでハンガリアン記法を使って区別してはどうでしょうか」 と言うことでハンガリアンで区別する方法もあるよ、と仰っているのだと思います。 > 「ところで、あなたは日本語を母国語とされている方でしょうか?」 差別的かどうかは置いておいて普通じゃない事は確かじゃないでしょうか。 会った事も無い、見ず知らずの方にそんな事を言う人は私の周りには居ません。 言っている本人も相手が日本人だって事はわかった上での発言でしょうし。 っていうかこんな台詞口喧嘩でしか聞いた事ないし。 |