- PR -

shared な変数の参照

投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2008/02/07
投稿数: 115
投稿日時: 2008-12-26 09:20
引用:

静的であることを示すのは、アプリケーション ハンガリアンだと思います。


ハンガリアン記法って、型や用途などの付加情報を接頭辞や接尾辞として識別子(変数名)に折り込むという手法ではないですか?

クラス名を付けてクラス変数であることを明示したり、this(VB.NETだとMe?)を付けて、インスタンス変数であることを明示することは、ハンガリアン記法ではないと思います。

それとも、クラス変数、インスタンス変数、ローカル変数は、(大文字で表記したりアンダーバーを付けたりして)識別子自体を分けておけばよい(アプリケーションハンガリアン記法を使えばよい)という主張でしょうか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-12-26 10:04
アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法である

[ メッセージ編集済み 編集者: べる 編集日時 2008-12-26 10:04 ]
未記入
大ベテラン
会議室デビュー日: 2008/02/07
投稿数: 115
投稿日時: 2008-12-26 11:22
引用:

アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法である


そうですね。私もそう認識しています。ところで、あなたは日本語を母国語とされている方でしょうか?

「アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法である」

この日本語の意味分かりますか?これは、もう少し分かりやすく書くと「アプリケーション ハンガリアンは、間違えたコードを間違えて見えるようにする記法のひとつである」となります。決して「間違えたコードを間違えて見えるようにする記法はすべてアプリケーション ハンガリアンである」という意味にはなりません。

クラス名や this を明示することは「間違えたコードを間違えて見えるようにする」手法のひとつではありますが、それが即ちハンガリアン記法だということにはなりません。

--
追記

リンク先読みました。「識別子の使用方法・データ型情報・スコープ範囲などを分かるようにするための命名法である。」と識別子の付け方に関するものであることが書かれています。やはり、(識別子の外側に)クラス名や this を付加することはハンガリアン記法ではないですね。

[ メッセージ編集済み 編集者: 未記入 編集日時 2008-12-26 11:27 ]
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-12-26 11:26
引用:

武史さんの書き込み (2008-12-24 10:55) より:

しかし、2005 だと、警告が出てしまうので、



その警告の中に Me のかわりにクラス名をつけるよう、修正候補が表示されていませんか?
セラフ
ベテラン
会議室デビュー日: 2005/12/01
投稿数: 95
お住まい・勤務地: 東北の顔の形といえば
投稿日時: 2008-12-26 12:37
思い込みとすれ違いの哀愁のスレッド

引用:

静的であることを示すのは、アプリケーション ハンガリアンだと思います。



Jittaさんが書いてるのは、
「静的であることを示すのは、アプリケーション ハンガリアンなのでハンガリアン記法を使って区別してはどうでしょうか」
って解釈が普通だと思いますが・・・

未記入さんが
「MeやThisはハンガリアンでは・・・」
というのは、リンク先みたらわかりますよね?
筋違いですよってのがべるさんの書き込みですしょう。

「ところで、あなたは日本語を母国語とされている方でしょうか?」
そのままお返ししたい所ですね。なぜこのような差別的な発言をされているのでしょうか?
「日本語を母国語」としていても勘違いは誰にでもあることでしょう。

意見を言いづらくなるような発言はお控えいただきたいです。
未記入
大ベテラン
会議室デビュー日: 2008/02/07
投稿数: 115
投稿日時: 2008-12-26 13:00
引用:

Jittaさんが書いてるのは、
「静的であることを示すのは、アプリケーション ハンガリアンなのでハンガリアン記法を使って区別してはどうでしょうか」
って解釈が普通だと思いますが・・・



そうですね。私もそういう意味だと解釈しました。そのうえで、「静的であることを示すのは、アプリケーション ハンガリアン」であるということに異議を唱えています。

ハンガリアン記法で、クラス変数に特別な接頭辞を付けることで「静的であること」を示すことはできます。でもね。クラス名を付けて(つまり別の手法で)「静的であること」を示した場合はハンガリアン記法とは言わないんです。識別子に細工をしているわけじゃないんですから。

引用:

なぜこのような差別的な発言をされているのでしょうか?


なぜ差別的だと感じたのですか?私は差別意識など持っていませんけど。
セラフ
ベテラン
会議室デビュー日: 2005/12/01
投稿数: 95
お住まい・勤務地: 東北の顔の形といえば
投稿日時: 2008-12-26 13:23
やはり勘違いされていますよ。

ThisやMe、クラス名を先頭につけるのではなく、静的であるという意味の接頭語を設けて変数名として使ってはどうでしょうかとおしゃっているのですよ。

ThisやMeをハンガリアンなんてだれも言っていません。
未記入さんの書き込みの中で勝手に言っていることですよ。

引用:

なぜこのような差別的な発言をされているのでしょうか?


発言はあなたの意図ではなく、受け取る側の感じ方でかわるものです。
わたしには「日本語わかりますか?」といった攻撃的な発言に聞こえます。
まぁわたしだけがそう感じたのなら、問題ないでしょう。
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2008-12-26 14:12
> クラス名を付けて(つまり別の手法で)「静的であること」を示した場合はハンガリアン記法とは言わないんです。識別子に細工をしているわけじゃないんですから。

それは誰もがわかっていると思いますよ。
クラス名をつけて区別する方法は以前から出ています。

> 「静的であることを示すのは、アプリケーション ハンガリアンなのでハンガリアン記法を使って区別してはどうでしょうか」

と言うことでハンガリアンで区別する方法もあるよ、と仰っているのだと思います。


> 「ところで、あなたは日本語を母国語とされている方でしょうか?」

差別的かどうかは置いておいて普通じゃない事は確かじゃないでしょうか。
会った事も無い、見ず知らずの方にそんな事を言う人は私の周りには居ません。
言っている本人も相手が日本人だって事はわかった上での発言でしょうし。
っていうかこんな台詞口喧嘩でしか聞いた事ないし。

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