ハンガリー表記って使ってます?

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
APIに使う構造体やメンバ名に使われているのでつられて使っていますが、
変数名に型を含めることに何の意味があるのかチト疑問。
2名無しさん@お腹いっぱい。:2000/08/18(金) 00:35
class zoo;
class foo{
 zoo* m_pcContents;
 int m_nContents;
public:
 zoo* pcContents(void);
 int nContents(void);
}
とかってやるときに名前を考えなくていいから、都合の良いときだけ使ってます。
(あ、ハンガリー記法だとそうぢゃないっていうツッコミは勘弁ね)
3では違うツッコミで:2000/08/18(金) 00:42
関数名にまで使っているは久々にみた。いけないとは言わないけど。
(昔のMS Setupプログラムのサンプルで見かけたことはあったけど)
4名無しさん@お腹いっぱい。:2000/08/18(金) 02:21
百害あって一利なしだよ。
型変わったらどーすんの?その度に変数名変えるの?
5:2000/08/18(金) 03:57
あ、もちろん戻り値の型にあんまり意味のない関数などは「都合の悪い」
ほうに入ります(あ、あとづけっぽい?)
6名無しさん@お腹いっぱい。:2000/08/18(金) 04:14
ハンガリアン表記ってのは、まだ C 言語を使っていた頃の遺物。
型情報を識別子名に織り込むことで,間違った型を使わないように
したり、複雑なキャストをするときに目で見て正当性を確認できる
ようにしたのです。

発生理由からすると、タイプセーフリンクができ、実行時型情報も
とれる C++ で、ハンガリアン記法を使う強い意味はない。

個人的には、ポインタか否かを表す程度にしか(p しか)つかわないなぁ。
7名無しさん@1周年:2000/08/18(金) 07:39
個人的にはだけど、ハンガリアンよリ
クラス名かどうかとか
グローバルかローカルか
とかで表記をかえた方がわかりやすいと思う
ハンガリアンに限らず、こんな表記・命名規則が
便利っていうのあったら教えて下さい
8>4:2000/08/18(金) 09:13
それだけなら100害とは言えないし利があるから使われているんだろ

>型変わったらどーすんの?その度に変数名変えるの?
置換
9検索...HIT C.FAQ:2000/08/18(金) 09:28
17.8:
「ハンガリー記法(Hungarian Notation)」とは。使う価値があるか。
A:
ハンガリー記法は名前の付けかたの取り決めで、Charles Simonyiが 発明した。これは変数の型を(おそらく、その使いみちも)変数の名前 に符号化する。一部のグループでは愛され、その他の人達からは容赦 なく酷評されている。主な利点は、データ型や意図する使い方が名前 を見ればわかるということである。主な欠点は、データ型は変数の名 前に付けて運んでまわるような大事な情報では必ずしもないことであ る。
10検索...HIT:2000/08/18(金) 09:33
記法について詳しく説明してた所
http://www.arcpit.co.jp/winapi/api_01/ap010203.htm
11名無しさん@お腹いっぱい。:2000/08/18(金) 11:06
>置換
くだらねー。
あっちこっちで使ってたら収集つかんだろ。
だいたい、同じ名前で違う接頭詞の変数名があったら
置換使えんじゃん。
12名無しさん@お腹いっぱい。:2000/08/18(金) 11:16
確かに、C++・Delphiではどう見ても不要かと
13陰陽:2000/08/18(金) 11:54
個人的な意見だけど
ハンガリアンは巨大プロジェクトで威力を発揮するよ。
数百人が携わるプロジェクトでは同じ用途の変数でも
名前がバラバラで、ソース解析が大変。ハンガリアンにしておけば
ある程度名前のバリエーションを減らすことが出来る。
変数名もまともにつけられない厨房を使うなってのは無理だから
少しくらいの効果はあるよ。

小さいプロジェクトでは使ったこと無いなあ。やっぱりポインタにpつけるくらい。
整数型と文字型の変数があるときは
WorkNum // 整数
WorkStr // 文字型
ってやっちゃう。
14名無しさん@お腹いっぱい。:2000/08/18(金) 12:07
>13 うーん。C やアセンブラの時代なら同意するけど。

カウンタとしての伝統的な i@` j などは別にして、意味を持った
名前を付けるように管理するけどなぁ。どっちにしろ、綴りを
間違えたら終わり。って点では同じだし。

変数名をまともに付けられない連中は、コードも信用できない。
って考えませんか?
15名無しさん@お腹いっぱい。:2000/08/18(金) 13:03
>>14
>変数名をまともに付けられない連中は、コードも信用できない。
>って考えませんか?

全く同意。
16サンガリアン:2000/08/18(金) 13:20
1,2、サンガリア
2,2、サンガリア

サンガリア、サンガリア
ピュア〜
17>11:2000/08/18(金) 13:24
>あっちこっちで使ってたら収集つかんだろ。
実際にハンガリアンを使った大きなプログラムでも収集が
付かなかった事は無いから収集つかんと言われても困る。
変数名を変えたぐらいで収集つかなくなるようなのは
プログラムかプログラマの力量の問題だろう。
グローバル変数を節操無く使っているとか。

>同じ名前で違う接頭詞の変数名があったら
>置換使えんじゃん。
君は正規表現を知らないのか?
また不安なケースは確認しながら置換すれば間違いは
起きない。変数の型を変えることなど稀だし大した
手間ではない。

1817:2000/08/18(金) 13:28
そもそも変数の型を変えた場合はほとんどの場合コードの
確認は必須だと思うぞ。そのついでに置換するだけだ。
1917:2000/08/18(金) 13:44
ハンガリアンを使う使わないは自由だしケースバイケースで
決めればいいと思うが「百害あって一利無し」と言うほど
毛嫌いして排除しなければいけないようなものでは無いと思う。
プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
自分で自由に決めれるなら好きにすればいいと思うぞ。
20名無しさん@お腹いっぱい。:2000/08/18(金) 14:19
正確にはハンガリー記法ではない(と思う)けど、
Microsoftの命名規則でクラス変数の頭に m_ を付けるっていうのがありますよね。
見た目はともかくあの規則は悪くないと思ってます。

変数名に型情報を含める必要性はあまり感じないのですが、
クラス変数とローカル変数、メソッドのパラメータとは
名前だけで明確に区別できた方が便利だと思う。
そう思っている人いませんか?
21>17:2000/08/18(金) 16:41
いやはや、弁護大いに結構なんだけどハンガリー記法の利点を
挙げないのはなぜ?だらだら長文書くより、最大の利点を一つ
挙げた方が楽でしょ?

>そもそも変数の型を変えた場合はほとんどの場合コードの
>確認は必須だと思うぞ。そのついでに置換するだけだ。

ついでって・・・それを面倒くさい&無駄な「作業」とは思わないの?
22>21:2000/08/18(金) 17:06
あなたもハンガリアンの欠点を100害もあげていませんね。
あなたが欠点と言われた部分が欠点じゃ無いという事に的を
しぼって書いたのが何が悪いのでしょう?それが議論と言う
ものです。長所は長所で別に議論すればいいことです。
まともに反論や議論ができないからといって、だらだらとした
長文扱いの中傷や論点をずらすのはみっともないですよ。

>ついでって・・・それを面倒くさい&無駄な「作業」とは思わないの?
全く思わないです。置換など一瞬です。あなたはいちいち変数名を
全部手作業で打ちなおしてでもいるのですか?
型を変えた場合の見なおしは「無駄」では無く「必要」な作業です。
23陰陽>14:2000/08/18(金) 17:14
そうだね。だからといってそいつの作ったコードを
一から見直してあげる余力も気力もないので、あとはそいつの
作った検査仕様書を信用するしかない。
2417:2000/08/18(金) 17:21
データのバイトサイズ・型を強く意識しなければいけないプログラムは、
理想のプログラミングからは離れているのかもしれませんが現実には存在して
います。
そういったケースでハンガリアン記法は有効だと思っていますから、
実際に自分の設計するプロジェクトで使ったりもしました。
不用意な型変換が見つけにくいバグの原因になりますし、データ処理の可読性が
あがり理解しやすく変更もしやすくなります。
実際にその効果はあったと実感しています。

そういう意味ではケースによってはC++でハンガリアン記法を使うことがあって
も別に構わないようにも思います。
25>22:2000/08/18(金) 17:48
>全く思わないです。置換など一瞬です。あなたはいちいち変数名を
>全部手作業で打ちなおしてでもいるのですか?
17にあるような「不安なケース」の場合はどうですか?
2617>25:2000/08/18(金) 17:51
確認しながら置換するときの置換にかかる時間も一瞬の
範囲だと思います

27名無しさん@お腹いっぱい。:2000/08/18(金) 18:39
ハンガリアン、
pcszとかは鬱陶しいだけ。つかわん。
m_@` g_@` pHoge@` bFlag@` とかは使うよ。
dwSizeとかは、冗長で愚かしいよね。
28>17:2000/08/18(金) 19:33
いや悪かった。
別に怒らせるつもりはなかったんだけどね。
>だらだら長文書くより
ここが勘に触ったのだな。たぶん。

確かに100も欠点挙げられないけど。喩えじゃん。
・タイプ量が増える
・タイプ量が増えればタイプミスも増える
・接頭詞と実際の型が食い違う可能性があり、その場合デバッグが困難
・変数名から変数の目的が直感的に分かりづらくなる
個人差はあるだろうけどこんなところかな。
ソースの可読性が落ちるのと、型指定が重複している印象を受けるのが
たまらなく無駄に思えて嫌だ。

だいいちMSのソース以外で使っているのを見たことがないもん。

といまさら僕が何を言っても「中傷」にしか見えないだろうから、あとは
いろんなWebページ見てみてよ。反ハンガリー記法の人って結構多いから。
有名人でいえばLinus氏とか。
29名無しさん@お腹いっぱい。:2000/08/18(金) 20:09
僕は、Win32SDKの生Cと、VBしか使ったことないので、
ばりばりハンガリアン信者です。

逆に無いと読めなくなってるっぽい。
これが最大の欠点かも。
30>17:2000/08/18(金) 20:13
>データのバイトサイズ・型を強く意識しなければいけないプログラムは、
>理想のプログラミングからは離れているのかもしれませんが現実には存在して
>います。

けど、ハンガリアン記法でデータ実体のバイトサイズまで指定できますか?
2ビットのビットフィールドに対して b2 とかの接頭子をつけますか?

たまたま、当時の(MS の)開発環境が(ソフト、人材含め)タコなだけでしょ。
31名無しさん@お腹いっぱい。:2000/08/18(金) 20:42
gotoみたいにハンガリー表記有害論とハンガリー表記有害論有害論と
で議論になるんだよね、結局は。
32Mingw32萌え:2000/08/18(金) 22:45
互換性の無い(明示的なキャストが必要な)型同士は
分けた方がやりやすいと思うて
 p:ポインタ/n:整数型/r:実数型/s(sz):文字型/b:フラグ/a:その他
 m_:メンバ/g_:グローバル
を使ってます。
ダメ?
3332:2000/08/18(金) 22:47
× s(sz):文字型
○ s(sz):文字列型
ね。
34>32:2000/08/18(金) 23:45
互換性のない型どおしなのだから、間違ったとしてもコンパイル時に
検出できるでしょ?

ハンガリアンはまともな警告を出さない/出せないコンパイラを使っていた頃の
生活の知恵です。今や、識別子の上にマウスポインタを載っけるだけで
情報が読み出せるんだから。
35名無しさん@お腹いっぱい。:2000/08/19(土) 00:02
警告なんて昔からまともに出せてますよ
コンパイラの変わりに警告を検出するではなく
コーディング段階で型を強く意識する為のものです
36名無しさん@お腹いっぱい。:2000/08/19(土) 00:12
変数に型名含めておくと、安易に型を変えられない
メリットはあるな。
37名無しさん@お腹いっぱい。:2000/08/19(土) 02:12
たぶん、自分でロジックを組んで実装するプログラマと、
外部仕様、内部仕様が決定された上でコードを書くコーダーとの
差だと思うな。

自分でコードを組むんなら、型などは後からついてくるし、局所的な
スクラップ&ビルドに耐えられるコーディングをしなければならない。

複数作業、というよりはピラミッド型のシステムでは、創意工夫など
してもらっては困るから、型を強く意識してもらう必要があるのかな?

幸いというか、ピラミッド型開発はしたことがないし、やりたいとも
他人にやらせたいとも思わないから、死ぬまで「ハンガリアン記法」は
知識としてのみの存在になるだろうな。
38名無しさん@お腹いっぱい。:2000/08/19(土) 04:00
>37
正論なんだけど後半表現がきつすぎ。
39名無しさん@お腹いっぱい。:2000/08/19(土) 04:47
昔、ハンガリー暗記法だと思ってた。
俺耳悪いぜ。それ以上に先生カツゼツ悪いぜ。
40名無しさん@お腹いっぱい。:2000/08/19(土) 10:04
とりあえずこれがリファレンスかな。
http://msdn.microsoft.com/library/techart/hunganotat.htm
41>38:2000/08/19(土) 11:23
正論?どう見てもただの感情論だろ。
42>41:2000/08/19(土) 13:13
このスレッド、感情論以外の話に展開していくと思っていますか?

感情論としても、>>37 に同意。
43名無しさん@お腹いっぱい。:2000/08/19(土) 13:47
>>42
感情論じゃなくて宗教論争の間違えじゃない(w

>>37って単なるコーダーでしょ。
>型などは後からついてくるし
こういうのって大概スパゲッティなコードになるよ

問題分析、設計、コーディングが出来るのがプログラマって
どっかの本で読んだことがある。
設計もまともにしないで、場当たり的にコードを書いてる37って
単なる世間知らずなキーパンチャだと思う今日このごろ。

宗教関係は嫌いだからハンガリアンについてはノーコメントね
44名無しさん@お腹いっぱい。:2000/08/19(土) 14:13
変数表必須(ワラ
45>43:2000/08/19(土) 14:19
変数の型を場当たり的に決めていくとスパゲッティなコードに
なる根拠を詳しく説明してください。
43さんは設計段階でいちいち使用する変数を列挙するのですか?
ちょっと想像がつきません。

ただの煽りだったのなら回答はして頂かなくて結構です。
4632:2000/08/19(土) 14:31
型確認の為にいちいちコンパイラにかけたり、
マウス重ねるのはちと面倒。>34

そーゆうのを泥縄式と言いませんか?
それに整数/実数程度の区別は付けときません?>37

細かすぎず、荒すぎない程度に分けて表記するのが
ベストだと思うんですが。
4743:2000/08/19(土) 15:04
>43さんは設計段階でいちいち使用する変数を列挙するのですか?

ループで使うのとか、一時変数までは列挙はしないが、設計の段階で
データ構造を決めるから変数は列挙するよ。一人で遊ぶんだったら
変数表みたいなのは作らんけどね。

つーか、データ構造が後から分かるプログラムってどんなの?
48cafe:2000/08/19(土) 15:32
割り込みだけど。>45
設計段階でほとんど全ての型は決定してます。そして、変更は
大掛かりな戻り作業となります。

・システム間でのメッセージ通信
・DBの構築
・異種言語が混在での開発

外部仕様ならコーディング前にきまってるんだよ。
スパうんぬんは戻り作業が多くなると発生しやすい。
49名無しさん@お腹いっぱい。:2000/08/19(土) 15:50
37正論じゃん?
感情論?どこが
50名無しさん@お腹いっぱい。:2000/08/19(土) 16:20
俺の感覚だと、「すぱげてぃーなコード」ってgoto使わないと出来ないって感じ。
51>49:2000/08/19(土) 18:11
論理なんてどこにも無くて感情的反発を書いてるだけですが?
52>51:2000/08/19(土) 18:56
それ言ったら、ハンガリアン記法自体、論理じゃないでしょ。
コーディング規則のひとつにしか過ぎない。
赤がすきか、青がすきか、ってレベルの話なんだよ。最初っから。

pData と書くか、DataPtr と書くかの違いでしょ?

53>48:2000/08/19(土) 20:33
ちょっとズレてますな。
54名無しさん@お腹いっぱい。:2000/08/20(日) 01:32
私もC言語で開発した時はハンガリアン記法使ってました。
つーか、途中から入った時既に使われてたんですけど。
ほとんど17さんの意見と同じですね。置換作業は面倒とは思いません。
また、30さんのようにバイト数まで記述する事はなかったです。

数百万ステップもあるソース群だと、何らかの変数名規則は必須かと思われます。
そして52さんのようにどちらかにするか決めて前者の方を採用しただけです。
szNumとnNumのように使い分け、型を意識してコード書いてました。

他人のソースをメンテする時は、shu@`syuの違いなど、
気に入らない変数名などは徹底してコピペしました。

ハンガリアン記法を使うなら使う、使わないなら使わないと決めて
混在しないようにすれば混乱は起きないと思います。

5517>28:2000/08/20(日) 01:35
いくら嫌いだったり喩えであっても百害あって一利無しは正しくないでしょう。
私への誹謗もそうですが、あなたの発言って論理より感情が先に来ているように
見えます。反論を論理的に書いてレスが多少長くなってもそれは必要だからです。
それを単純に誹謗するのは感情的すぎますね。その癖、議論とは関係無い事も
書けとは矛盾しています。
ハンガリアンが大嫌いな人がいるのは分ってますよ。
変数名が長くなることと、変数に型情報を含めたプログラムをしたくない
というのが主な理由でしょう。
個人的な見解を書くと、ハンガリアンが、メモリやデーターサイズへの要求が
シビアだったDOS/Windows畑で生まれ一部に普及していったのは必然だったと
思いますし、それを気にする必然性がほとんど無いUNIX出身のプログラマには
理解できないのもよく分ります。LinusもC FAQの意見もそちらよりの意見でしょう。
それに私自身、ケースバイケースだと言ってるだけで、別にハンガリアン信者では
ないですよ。
使うときと使わない場合がありますし、理想としては私もあまり型だとかデータの
サイズとか気にせずプログラム作りたいです。現在はそれを許される環境が
でもそうはいかない場合があるからハンガリアンを現実的な対策として使うときが
あるのです。
5617:2000/08/20(日) 01:38
ちなみにハンガリアンを使うのは別が指摘しているようなコンパイルの警告代わり
とは関係ありません。
警告レべルは当然一番きつくした上でもハンガリアンにメリットがあると思って
使いましたよ。だいいちコンパイラの警告はキャストで逃げられてしまいます。
24に書いたとおりデータ型とサイズを強く意識してプログラミングしてもらい、
可読性と生産性と効率をあげるのが目的です。
36の書かれたデータサイズを安易に変えさせないメリットというのも確かにある
かもしれませんね。

>・タイプ量が増える
>・タイプ量が増えればタイプミスも増える
>・接頭詞と実際の型が食い違う可能性があり、その場合デバッグが困難
>・変数名から変数の目的が直感的に分かりづらくなる
何文字がタイプ量が増えるのはそうでしょうが、他はよく分りませんね。
>・変数名から変数の目的が直感的に分かりづらくなる
これが特に分らない。接頭語をつけてるかどうかの違いだけで直感的に分りづらく
なるはずがない。ハンガリアンを否定するために無理矢理こじつけてませんか?

それと決まりきった接頭語がついたからといって、タイプミスって増えますか?
すぐ慣れると思いますし慣れたらミスは一般的なプログラマならそれが原因の
タイプミスはまず無いように思いますけどね。

接頭詞と実際の型が食い違う可能性はそりゃあるんだろうけど、規約を破られた
場合まであまり考えたくないなぁ(笑)
そういうのはどんな規約でもありうることでしょうけど、それを気にしだしたら
規約作れなくない?
まぁそのリスクが多少あるのは認めますけどハンガリアンが必要なときに、
メリットと天秤にかけると、気にする必要はないリスクだと判断するでしょうね。
型を意識的じゃなく間違えて使ったら、それこそCでも警告レベルあげとけば
どこかで警告が出る可能性が高いからデバッグまで持ち越すことってあまり
ないんじゃないかなぁ。
5717:2000/08/20(日) 01:42
55の訂正
「現在はそれを許される環境が・・・」は
現在はそれを許される環境が増えてきていて嬉しいですが、そうはいかない
場合もあるからハンガリアンを現実的な対策として使うときがある
のです。
58名無しさん@お腹いっぱい。:2000/08/20(日) 01:58
17は負けず嫌いだね。つーか執念深いって。
何気ない一言を一生根に持つタイプだ。
5917>58:2000/08/20(日) 02:14
安心してください。
ただ議論してるだけですし、こんなことで一生どころか1秒も
恨んだりなんてしないですよ。
誹謗と思える発言には一応はしますけどね。
というわけで誹謗中傷はやめてね(笑)
6059:2000/08/20(日) 02:16
言葉が抜けてたので訂正
誹謗と思える発言には一応は指摘はしますけどね。
61>17:2000/08/20(日) 03:59
宗教論争だっつー結論出てるのにウダウダ書き込んでんじゃねーよ
なーにが議論だ?オマエも感情むき出しじゃねーか

逝ってよしだな
6217>61:2000/08/20(日) 04:14
それってあなたが、そういう結論にしたいだけなんでしょ?
私にその結論を押しつけられても知らないです。
宗教だとか感情だけならハンガリアン使わないです。
論理で必要だと思ったとき使っただけです。

ちなみに19が一番言いたいことなので再引用しておきます。
>ハンガリアンを使う使わないは自由だしケースバイケースで
>決めればいいと思うが「百害あって一利無し」と言うほど
>毛嫌いして排除しなければいけないようなものでは無いと思う。
>プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
>自分で自由に決めれるなら好きにすればいいと思うぞ。
63名無しさん@お腹いっぱい。:2000/08/20(日) 04:46
ま、好きにすればいいっていわれても、どっちが好きかわかんない
しともいる(私がそうだ)から、議論や雑談は続けて欲しいです。
参考になる意見もあるし。
あ、でも、煽りに負けてるような人の意見は説得力が無い感じはす
るです。
6417>63:2000/08/20(日) 04:54
そうですね。
別に誰か特定の人に向けてだけ発言しているわけではないので、
意見は個々で判断すれば良いことでしょう。
その上で好きにすればいいです。
65俺は一言しか参加しないよ:2000/08/20(日) 05:17
とりあえず17すごくうざい。

言ってる事が正論であっても、相手のあらを探す姿勢が嫌。
所詮文字によるコミュニケーションであり、
正確に伝えられるかどうかもわからないのに、
「善意に解釈する」事を絶対しないね。

NULLの頃から。
66名無しさん@お腹いっぱい。:2000/08/20(日) 10:36
文の切れ端を捉えて揚げ足取りするのは得意だが
行間を読んで意志疎通を図る能力の欠如。
67>:2000/08/20(日) 10:52
議論も好きだけど論破するのはもっと好き。
自分の書きこみが相手にどういう印象を与えるか承知してるが、
「ふっかけてくるのは相手のほうで自分はただ議論をしてるだけ」
と言えば逃げられると思ってる。
68名無しさん@お腹いっぱい。:2000/08/20(日) 11:23
メタな批判しかできない厨房(58、61、65、66、67)が大勢いるな
69名無しさん@お腹いっぱい。:2000/08/20(日) 11:33
一行レスしかできない厨房(68)が一人いるな
70>69:2000/08/20(日) 16:31
オマエモナー。そしてオレモナー
71意味なし:2000/08/20(日) 17:40
オマエのモナーはオレのモナー。
72名無しさん@お腹いっぱい。:2000/08/20(日) 18:01
このスレに初参加。

なんとなく読んで感じたんですけど
たぶん、17あなたは勘違いしているよ
ここで会話している人は、
バンガリxxなんて使われたら
開発効率が落ちてしまうことがウザくてウザくてたまらない
実力者ばかりなんだわ。
17が想定しているプログラマの実力が違うわけ。

バンガリxxが多人数開発に有用だ
という無茶な論理でバンガリxxを用いられて
100人の中で自分の生産効率が落ちるのは我慢ならないよな

たぶん17に近い所のプロジェクトで100人からなる開発者(コーダー)で
開発していることは
バンガリ記法ウザイと思う人間(プログラマ)が10人いれば
完成しちゃうような程度のプロジェクトなんだわ。
73名無しさん@お腹いっぱい。:2000/08/20(日) 18:02
日本の夜明けがこないのは
>プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
これだよな、すべて勝手に決められた事で
無駄な時間を費やしてしまうんだ。

コーダーしかいない場合はバンガリ...
プログラマはバンガリ使わず。

このスレにはコーダーもかなりいるんだけどね。(wara

ああ、コーダーが業界から消えてくれれば
こういう下らんスレも必要なかったのにな。
74名無しさん@お腹いっぱい。:2000/08/20(日) 18:28
ハンガリー表記で生産効率の落ちるプログラマーつーのは
置換もまともに出来なくて接頭詞がつくとタイプミスして
しまう馬鹿とかだろ?
一緒に仕事したくねーな(わら)
75DolBacky:2000/08/20(日) 19:06
ハンガリアン使うのは、便宜上同じ変数名で違う型のモン作りたい時だけなり。
インタフェイスさえ一般性をもたせりゃまあよいかな〜…程度の考え。

WORD wFlag;
...
DWORD dwFlag = (DWORD)wFlag;
76職業話は板違い:2000/08/20(日) 19:10
どっかいけ
77名無しさん@お腹いっぱい。:2000/08/20(日) 22:04
>74シーカ17?
なんで、プログラマが文字列置換をするのに
必死にならなきゃいかんわけ?

御前さんがコーダーだから、アタマイイプログラマがうらやましだけでしょ
がんばって痴漢をうまくヤッテテネ(藁
78>77:2000/08/20(日) 23:19
お前は、必死にならないと置換すらできないのか?
ハンガリー記法で開発効率が落ちるプログラマーの言う事は流石に違うぜ
置換とタイプミスで開発効率が落ちるんだろ?ゲラゲラ
79>17:2000/08/20(日) 23:20
百害あって一利なしという意見を排除し、我を通しているあたり
オマエ全然足元が見えてないだろ?
オマエのやってるのは議論じゃないよ。ちっとも建設的じゃない。
単に相手を言い負かしたいだけ。

学生のやる競技議論がちょうどそんな感じだな。議論の中から何かを
見出すのでなく、とにかく自分が勝ちたい議論だ。

>ちなみに19が一番言いたいことなので再引用しておきます。

だったらもっと短く書けるだろ?
うざい長文かくなという指摘は至極全うなものとは思わないか?

80>77:2000/08/20(日) 23:28
必死で置換して開発効率が落ちるつーことはデーターの型を変え
まくるってか?
データ設計もまともに出来ない接頭詞は覚えられずタイプミスす
るプログラマーの頭の中身が見てみたいぜ。ゲラゲラ
81>80:2000/08/20(日) 23:49
だからそれはもういいって。
82名無しさん@お腹いっぱい。:2000/08/20(日) 23:50
> たぶん17に近い所のプロジェクトで100人からなる開発者(コーダー)で
> 開発していることは
> バンガリ記法ウザイと思う人間(プログラマ)が10人いれば
> 完成しちゃうような程度のプロジェクトなんだわ。

厨房がちょっとかじった本で「ハンガリアンはださい」というのを読んじゃったのかな。
コーダーは必要だよ?ちゃんとした設計が出来る人間が1から100までコーディング
してたら大変じゃん。コーディングだけできる人間が残りの部分をやってくれればいい。
実力のある人でもそこで力を発揮されると船頭多くして船山に登っちゃったり、
それにあわせて他の部分の修正とか入ってしまうので力の無駄遣いになる。

>80
専門出てVBちょこっとかじったような似非プログラマが派遣会社から送られてくるの。
ハンガリアンうんぬんはともかく、そんなことも分からない奴に言っても無駄だとは思うけど。

あ、そういえばまだ夏休み終わってなかったな・・・
8354:2000/08/20(日) 23:59
ハンガリアン使っても使わなくても
あまり作業効率は変わらないと思いますが。

データの型を頻繁に変えるなんてことは
ほとんど起きたことありません。
設計自体に、はじめから問題がある時ぐらいではないでしょうか。

73さんの
>>プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
>これだよな、すべて勝手に決められた事で
>無駄な時間を費やしてしまうんだ。
これが守れないなら、一人で(または代表となって)新規にプロジェクトを
起こすしかないのではないでしょうか?

火消し役に投入されたりした人が我流で突き進まれたら困ります。


84名無しさん@お腹いっぱい。:2000/08/21(月) 00:03
そこそこスキルのある人って設計書も何にも無しに(設計書は後で書くらしい)
「書くぜー書くぜー、思い付くまま気のむくままー、残業なんてーするもんかー
はいでーきた」
って人が多いと思うんですよ。実際に存在するし。
そういう人にハンガリアンって似合わない気がするし、ハンガリアン押し付けたら
確実に効率落ちるでしょうね。
タイプ数が増える云々はたてまえで、もっと精神的な面で(嫌だ、無駄だ、ウザイ
美しくない・・・etc)いわゆる創造力が落ちるのでしょう。
こういう人から見れば確かに、「百害あって一利なし」でしょうね。

立場が変われば見方も変わるということですよ。
どちらの主張もそれぞれ正しいし、間違っていると言えます。
宗教論争というのは的をついてますね、その通りだと思います。
85>83:2000/08/21(月) 00:09
全員が納得して守れない規約なら守れるように変更するのが本筋だな
法律とは違うんだから
それとも君の組織じゃPMは神様なのかい?
8654:2000/08/21(月) 00:18
>84
うーん、その通りかも知れませんね。

>85
例に挙げた「火消し役」は大抵「途中」から参加します。
最初からそのプロジェクトに参加するケースなら
85さんのように考えるのが正しいと思いますが。

まあ私のケースは火消しでもなんでもなくてただ入れ替わりで
途中から入っただけなので、もうそこで確立されたルールに
従うしかないと思ったわけです。
87名無しさん@お腹いっぱい。:2000/08/21(月) 00:28
>84
その通りです。納得しました。
88>84:2000/08/21(月) 00:54
それでは通用しないプロジェクトがあるんだよ
89名無しさん@お腹いっぱい。:2000/08/21(月) 00:57
つーか規則ぐらいで創造力が落ちるとか言う糞はプログラマー
やめちまえ
「百害あって一利なし」は糞プログラマだろ
90名無しさん@お腹いっぱい。:2000/08/21(月) 01:10
>89
その通りです。納得しました。
91名無しさん@お腹いっぱい。:2000/08/21(月) 01:21
>88
だから84は
>立場が変われば見方も変わるということですよ。
って書いてんだろーが
読むだけじゃなくて理解しろや、なぁタコスケ

>89
哀れすぎてかけてやる言葉が見つかんねーよ
あとな、否定意見書くなら理由も書こうや、糞名無しさんよ

92名無しさん@お腹いっぱい。:2000/08/21(月) 02:02
ハンガリー表記は糞厨房が
無理矢理決める規則だといいうことに落ち着いた。
88-90は同一人物糞ガリアン厨房でした。
>91
もう厨房を相手しなくてもいいよ、どうせ煽りあいにしかならないって。

あーあ、夏休み早く終わんないかな。
糞ガリアン厨房は2学期から社会復帰した方がいいよ。
つーか、俺に夏休みクレヨン
93名無しさん@お腹いっぱい。:2000/08/21(月) 03:07
ハンガリアン好きです。
他人のソースでも読みやすいです。
94名無しさん@お腹いっぱい。:2000/08/21(月) 03:26
つーか91@`92は他人のこと言えないと思う
95名無しさん@お腹いっぱい。:2000/08/21(月) 03:36
精神とか宗教とかで結論づけるのくだんねー
プログラム技術@なんだから長所短所を議論しろや
96名無しさん@お腹いっぱい。:2000/08/21(月) 03:43
>93
それ結構うれしい。つーか、仕事なら気をつかうのが義務だろ。
人のこと考えないソース書いて平気なひとには、
どうでもいい「糞」なことなんだろうけど。
97>92:2000/08/21(月) 03:50
84-87-91-92も同一人物に見える
糞発言はどっちもどっちだから糞でない冷静な議論の再開を望む
反ハンガリー表記は精神論ばかりで説得力無いぞ
98名無しさん@お腹いっぱい。:2000/08/21(月) 06:08
92
>84-87-91-92も同一人物に見える
違う。確証なく同一人物当て、辞めた方がいいよ。他のスレでもナ

>反ハンガリー表記は精神論ばかりで説得力無いぞ
反ハンガリにムカ入ったので、煽ったが

>糞発言はどっちもどっちだから糞でない冷静な議論の再開を望む
激しく同意
99名無しさん@お腹いっぱい。:2000/08/21(月) 06:24
タイプミスという話がありましたが、ハンガリー表記にしておけば
タイプミスにもかかわらず、コンパイルがとおってしまった、
という悲惨なバグも減る可能性が高くなって好都合だと思います
100名無しさん@お腹いっぱい。:2000/08/21(月) 07:22
ハンガリアン使おうが使うまいが、
タイプミスしたらコンパイル通らんと思いますが……。
101名無しさん@お腹いっぱい。:2000/08/21(月) 07:25
あー、とりあえず、使う必要をまったく感じないので使ってません。
我輩にハンガリアン使わせたきゃ、そのメリットを説明してちょ。
102>101:2000/08/21(月) 09:22
メリットは、「皆が使ってるから」
回りで使ってないなら特に不要でしょう。

ハンガリアンにさえしとけば、私もチームの一員に
10327>101:2000/08/21(月) 09:24
初めてみるソースの時は、ハンガリアンみたいに、変数名と型が直結してたり、
ポインタや、メンバ変数、グローバル変数、ローカル変数の区別がつくコーディング規約は、
ソースに対する素早い理解に役立つよ。

ちなみに俺のスタンスは>>27
104>100:2000/08/21(月) 10:28
// 普通
int abc;
short adc;
abc = hogehoge(); // <-実はadcに入れるつもりだった。

// ハンガリアン
int nAbc;
short sAdc;
sAbc = hogehoge(); // コンパイルエラー

見たいな意味でした
105名無しさん@お腹いっぱい。:2000/08/21(月) 12:38
C/C++を使っている人だけでしょ? こんなの使ってるの。
他の言語でみたことない。27のスタンスくらいならいいかな。
m_とかのアンダースコアがあまり美しくないのが個人的にはいやなんだろうなあ。
>105さん
VBでつかってます・・・。
fnlGetXXXX()とか・・・(ああ、ばれるかも)。
ちなみにfnlというのは
戻り値long(=l)のfunction(=fn)という意味です。
あ、変数じゃなくて関数の命名規約だ。これ。
107名無しさん@お腹いっぱい。:2000/08/21(月) 13:13
>92
>違う。確証なく同一人物当て、辞めた方がいいよ。他のスレでもナ
お前が言うな
お前みたいに他人には平気で同一人物扱いや煽りをしておいて
自分が言われるときれるじこちゅーがいるからスレッドが荒れ
るんだ
108名無しさん@お腹いっぱい。:2000/08/21(月) 15:03
>107
誤解されて言われるとは思ったけどナ〜

俺は確証あって同一人物当ててるの。それで当たるのよ。
確証無しに言ってくるのが多いから、
読みが浅くて、気になっただけだ
109>108:2000/08/21(月) 15:07
じゃ、俺が何番かあててみれ
110名無しさん@お腹いっぱい。:2000/08/21(月) 15:12
他人からみれば読みの深さなんてどれも似たようなもん。
当たっていようが外れていようが、指摘された本人は煽られてる
と思うものだ。
111cafe:2000/08/21(月) 15:49
111
見事に荒れてますなぁ。
112>108:2000/08/21(月) 16:08
何か自分の言う事が「当たる」とか言ってる人は 電波かその寸前。
注意されたし。というか初期なら薬で直るから、その手のページで確認してごらん。
113名無しさん@お腹いっぱい。:2000/08/21(月) 16:08
<111
あんたが言うなよ・・・
114名無しさん@お腹いっぱい。:2000/08/21(月) 16:32
>我輩にハンガリアン使わせたきゃ、そのメリットを説明してちょ。

・その1
 基底クラス内:
  int m_nAny;
 派生クラス内:
  m_nAny = func();
のように、定義されている位置と使われている位置が離れている変数の
型チェックが容易になる。
(m_と付いていることで定義位置の予測もできるし…)

・その2
 float r=-1.1;
 int n;
 nAbs = fabs(r); /* 切捨て発生 */
といったエラーを発見しやすくなる。
(深刻なエラーというワケでもありませんが。)
115名無しさん@お腹いっぱい。:2000/08/21(月) 17:38
>144
ちなみにクラスとか構造体のインスタンスは、どうめいめいしてますか?
116名無しさん@お腹いっぱい。:2000/08/21(月) 18:25
ハンガリアンってMicrosoftが採用しなかったら
Microsoft以外にももう少し普及したような気がする。
117名無しさん@お腹いっぱい。:2000/08/21(月) 21:04
アンチMSは絶対に使わねえって感じですか(ワラ
118名無しさん@そうだ選挙にいこう:2000/08/21(月) 21:09
M$のアプリが酷いのはハンガリー記法のせいです。
ハンガリー人の陰謀です。
11932:2000/08/21(月) 21:21
確かに 整数型同士(WORDとDWORD)とかを区別するのはあまり意味無いけど、
整数型と実数型を区別するのは意味があると思うんですが…
…最低限ポインタ変数と変数は分けますよね?
120名無しさん@お腹いっぱい。:2000/08/21(月) 21:31
MSの開発スケジュールが遅れまくる原因はハンガリー人の陰謀です。
121名無しさん@お腹いっぱい。:2000/08/21(月) 21:38
読みやすいソースならハンガリアンは邪魔なだけ。
読みにくいソースの場合は少なからず効果がある。
だから大きなプロジェクトではハンガリアンの意味があるという意見はよくわかります。
ハンガリアンを批判している人はLinus並の有能なプログラマか
あまり人のソースを読んだことのない厨房プログラマか
ただのアンチMSでしょう。

でも本っ当に使えないプログラマに限って
ハンガリアン批判をしてたりするんだよなぁ。
有能な奴はどんな条件でもいいソースを書いてくれる。
頭の固いロートルプログラマは消えてくれ!
122名無しさん@お腹いっぱい。:2000/08/21(月) 21:49
ハンガリアンで生産性とか保守性が向上すんの?
よくあるムダテクニックと同じで、良くなる気がするだけなんじゃないの?
123名無しさん@お腹いっぱい。:2000/08/21(月) 22:01
hDC とかは付いてないとやぱりツライです。
124名無しさん@お腹いっぱい。:2000/08/21(月) 22:19
>123
裸のハンドルなんて使ってないで、クラスでラップしましょう。
125名無しさん@お腹いっぱい。:2000/08/21(月) 23:41
変数名とか適当に決めてる人のソースって、大抵の場合、可読性低い。
あなた一人で仕事してるんじゃないんですよ。
タイプ量が増えると反論する人、ワープロ検定じゃないんだから。
まさか、人差し指でタイプしてるわけじゃないでしょう。

ハンガリアン否定派に対して感じることなんですが、自分なりのやり方を
確立していてそれはいい事なんですが、あとはひたすら否定するのみ。
取捨選択してみたら?
ハンガリアンに完全に従っていたら、そりゃもう無駄だと思うけど、
少しだけ取り入れるとかでも結構気の効いたソースになると思うんだけどね。
126名無しさん@お腹いっぱい。:2000/08/21(月) 23:41
変数名とか適当に決めてる人のソースって、大抵の場合、可読性低い。
あなた一人で仕事してるんじゃないんですよ。
タイプ量が増えると反論する人、ワープロ検定じゃないんだから。
まさか、人差し指でタイプしてるわけじゃないでしょう。

ハンガリアン否定派に対して感じることなんですが、自分なりのやり方を
確立していてそれはいい事なんですが、あとはひたすら否定するのみ。
取捨選択してみたら?
ハンガリアンに完全に従っていたら、そりゃもう無駄だと思うけど、
少しだけ取り入れるとかでも結構気の効いたソースになると思うんだけどね。
127123>124:2000/08/21(月) 23:43
古いソース読むのに書きかえるわけいきませんから。
128名無しさん@お腹いっぱい。:2000/08/21(月) 23:50
>125
>変数名とか適当に決めてる人のソースって、大抵の場合、可読性低い。
ハンガリアン否定派→変数名を適当に決めてる人
という事ですか?
それはあまりにも決め付けがひどすぎるでしょう。
129名無しさん@お腹いっぱい。:2000/08/21(月) 23:53
>123
hDCがDCになっていても問題無いように思いますが?
130123>129:2000/08/22(火) 00:21
そうですか、よかったですね。
131名無しさん@お腹いっぱい。:2000/08/22(火) 00:25
>130
そんな言い方しないでちゃんと言い返してください。
寂しくなっちゃう。
132123>131:2000/08/22(火) 00:29
私はhDCになってないと直感的にわかりずらいのでツライ。
あなたは問題無いと思う。
どっちでもいいじゃないですか、感覚の問題です。
133125:2000/08/22(火) 00:34
2重投稿、失礼しました。

>128
いえ、もちろん全部がそうだとは思いません。
”大抵の場合”と書いてありますので、そこを強調して
読んでいただければ。
ともかく、誤解を生む表現失礼しました。

私が一緒に仕事した中で、ハンガリアン嫌いの人はほとんど
そうだったので、こんな風に書きましたが、実際、いろんな
会社で適当な命名をしている人を見ましたよ。一応かなりお出来に
なる方でした。
が、可読性の観点から考えると、本人は満足しているみたいでしたが、
周りの反応を見れば一目瞭然でした。
その中にハンガリアン使わない人もいたんですよ。

しかしここのハンガリアン否定派の人、ひたすら否定するか煽ってる
だけみたいですよ。後半特に。どっちもどっちか。
あと根拠もなく実力者ヅラしたりして、ほんと見苦しい。
134>125:2000/08/22(火) 00:42
>あと根拠もなく実力者ヅラしたりして、ほんと見苦しい。
最後のコレが無ければ…
なんか残念です。
135名無しさん@お腹いっぱい。:2000/08/22(火) 00:46
規模が大きく、かつ成功しているプロジェクトのソースを見ると
ハンガリアン表記をしてるわけでもなかったりしますし、
私的な経験でもハンガリアン表記が生産性に悪い影響があるとか
良い影響があるとか特に思いません。
関係無いなら、めんどくさい事は止めておこうと思ってます。
136名無しさん@お腹いっぱい。:2000/08/22(火) 00:56
馬鹿がプロジェクトに加わってしまった場合の
リスクを軽減する方法ということでどうでしょ?

そのリスクがない恵まれた環境なら、いらんね。
137名無しさん@お腹いっぱい。:2000/08/22(火) 01:00
> 規模が大きく、かつ成功しているプロジェクトのソースを見ると
> ハンガリアン表記をしてるわけでもなかったりしますし

そういうプロジェクトはおそらく無能なプログラマは排除されているのでしょう。
しかしこの世のプログラムの大半は必ずしも有能でないプログラマに委ねられているのですよ、
そしてそういう無能なプログラマをうまく使えるかどうかがSEの技量というわけです。

> 関係無いなら、めんどくさい事は止めておこうと思ってます。

こういう考えは時にあなたを窮地に追い込むと思いますよ、多分ね。

138名無しさん@お腹いっぱい。:2000/08/22(火) 01:07
けど、型チェックが実行時に行われる言語
つまりスクリプト言語の場合変数に型を表すものが
ついてると、たま〜に救われること無いかね?

コンパイル時に型チェックする言語では
みにくくなるだけの気もするが・・
139名無しさん@お腹いっぱい。:2000/08/22(火) 01:58
135>137
>しかしこの世のプログラムの大半は必ずしも有能でないプログラマに委ねられているのですよ、
>そしてそういう無能なプログラマをうまく使えるかどうかがSEの技量というわけです。

ハンガリアンで無能プログラマの生産性が上がるようには思えません。

>こういう考えは時にあなたを窮地に追い込むと思いますよ、多分ね。

ハンガリアンは生産性に影響を及ぼさないという私の考えが正しいと
すれば、この考えは杞憂ということになります。
そして私はハンガリアンが有用だという証拠を見たことはありません。
140>138:2000/08/22(火) 02:21
型の無い言語でこそ、「この型しか代入しないよ」っていう意味で
そういう名前をつけてあると解りやすいですよね。

SmallTalkで anInteger とか aCollection とかっていうの、よく
つかった覚えがあります。
141名無しさん@お腹いっぱい。:2000/08/22(火) 02:30
137>135
> ハンガリアンで無能プログラマの生産性が上がるようには思えません。

生産性はともかく可読性が上がると思います。
あなたは他人のプログラムを読んだことはありますか?
一般に使われているようなプログラムの質は(ここで議論されているより)ずっと低いですよ。
本当に驚くほど。

あなたが見ているプロジェクトのソースは多分理想的な条件で作られたすばらしいソースなのでしょう。
でもそれが全てだと思ってはいけません。
142140:2000/08/22(火) 02:38
ハンガリアンとは関係なかったですね、反省。
143名無しさん@お腹いっぱい。:2000/08/22(火) 03:20
135>141
私はハンガリアンでソースの質が向上するかどうかを疑問視してるわけで、
質が低いプログラムにハンガリアンを導入すればマシになるって
繰り返し反論されても、議論が進まないと思うんですが。
(生産性とか保守性ってのはもちろん可読性も含めての話です)
144>143:2000/08/22(火) 05:32
逆だ逆。
可読性や保守性があがるという具体的な理由は幾つも
書かれているだろ。それに具体的でない反論を繰り返
ししているのはそっち側だろ。135も139も143も思う
とか思えないばかりで具体的な反論も意見は無い。
何を言われても具体的に反論せず頑なに納得しないだけ
の奴とは議論なんて不可能だろ。
145名無しさん@お腹いっぱい。:2000/08/22(火) 05:49
143>144
ハンガリアンをつかってなくても成功してるプロジェクトがあるというのが
のが私の根拠ですが、それに対する反論が
「それはプログラマがそのプロジェクトが優秀だから」という物です。
私はなんと反論すればよいのでしょうか。
146145:2000/08/22(火) 05:52
145の文章は間違ってます。
適当に修正して読んでください。
147144>145:2000/08/22(火) 06:01
使わないで成功しているプロジェクトがあるかどうかと
ハンガリアンの効果は別問題だろ。
それこそ「それはプログラマがそのプロジェクトが優秀だから」
みたいな答えしかしようがなかったんじゃねーの?

例えばオブジェクト指向を使ってなくても成功している
プロジェクトがある=オブジェクト指向は効果無いに
なるか?もっとまともな意見書いてよ。
148名無しさん@お腹いっぱい。:2000/08/22(火) 06:21
>147
ハンガリアンの有用性を具体的に指摘した書き込みってどれですか?
どれも慣れとか感覚とかで済みそうな指摘ばかりだと思うんですが。
149>148:2000/08/22(火) 06:25
それは具体的な意見として出されているものに対しての
あんたの印象だろ。
そう思うなら個々の意見に対して慣れとか感覚である
ということを具体的に指摘すればいいじゃないか。
150名無しさん@お腹いっぱい。:2000/08/22(火) 06:33
見て見ないふりしてたら議論にはならんな
151名無しさん@お腹いっぱい。:2000/08/22(火) 06:35
ハンガリー記法が役に立つのはそのコードがクソであることが分かる点にある。
152名無しさん@お腹いっぱい。:2000/08/22(火) 06:45
>149
個々の書き込みにはそれぞれ反論がついてるようですが?
153名無しさん@お腹いっぱい。:2000/08/22(火) 06:53
ヽ(°▽、°)ノ プログラマユーシューダモン
154>152:2000/08/22(火) 07:17
そうか?
つーか意見を全部無視して話しを進める奴は議論に
参加する資格ないだろ。
155>152:2000/08/22(火) 07:29
煽りや罵倒や誹謗中傷は反「論」とは言わない
156名無しさん@お腹いっぱい。:2000/08/22(火) 11:05
どこまで行っても主観的なものに優劣を付けようって言うのが間違いなんですよ。
ハンガリアン記法を使ったソースが読みやすい人もいれば、読みづらい人もいる。

「ハンガリアン記法を取り入れることで、ソースの保守性・可読性が向上する」
と言う意見と
「変数名に型を含めるなんて馬鹿馬鹿しい」
はまったく等価です。

論理論理としきりに騒いでいる人がいるけど、それは自分だけに通用する論理。
「俺ルール」ってやつです。他の人には理解できません。

「言いたいことは分かるけど、本当に読みづらいんだもの」
って言われたらおしまいでしょ?

だから何度も何度も宗教だってレスが上がってるんです。
そりゃ宗教にも論理があるでしょうけど、その論理が通用するのは自分と、自分と
同じ思想を持った身内だけです。
157>156:2000/08/22(火) 11:24
ヤケ起こさないでね
158名無しさん@お腹いっぱい。:2000/08/22(火) 11:36
ほぼ156に同意かな。ま、とりあえず、C FAQですら
>一部のグループでは愛され、その他の人達からは容赦 なく酷評されている。
こーゆー記述どまりなんだから。
ハンガリー記法はそゆモンだってことだけ頭に置いときゃいいんぢゃないですか。
159名無しさん@お腹いっぱい。:2000/08/22(火) 14:54
懲りずに宗教なんてくだらねー結論に安易に片付けようとしているが、
精神的理由だけで拒否してハンガリー記法を使っているプログラマー
を誹謗中傷している一部の奴らが狂信的なだけだろ。
C FAQだって決して排他しろとは言ってないし、宗教扱いするほど
通用しないものでは無い事をハンガリー記法派は言ってるだけで押
しつけている発言は見当たらねーぞ。
せいぜい規約で決まってれば素直に従えばいいと言ってる発言がある
ぐらいで神聖視しているわけじゃないだろ?
160メタ批判:2000/08/22(火) 15:17
その文調が要らぬ騒動を巻き起こしているのだよ>両者
もちょっと読み手の感情を逆撫でしない文章は書けないのかね?

161名無しさん@お腹いっぱい。:2000/08/22(火) 15:24
俺は宗教だと決めるのも別に個人の自由だと思うよ。
でも宗教扱いすることを他人に押しつけて議論を終わらせようとする156
みたいな意見は嫌いだね。宗教的と片付ける意見も、宗教的では無いと
考えて論理的に長所や短所を説明する意見と同じで、個人の意見に過ぎない
だろ。
コーディング規約やプログラミングテクニックなんてものは賛否両論が
絶対にあるわけだし全部宗教だと言えてしまうように思う。
結局のところ個人やプロジェクトで決定権のある奴が独断で採用・非採用を
決めるしかないもんだろ。
決めるときの参考になるように長所や短所をあげあったり、長所や短所の
議論するのが建設的だと思うんだが間違ってるだろうか?
162>159:2000/08/22(火) 16:05
宗教って言葉が嫌なら、水掛論といってもよい。

絶対正しいわけでも、絶対間違ってるわけでもないから
両方が意地になれば決着がつかない。

言語を普及させようとするときに、布教とか言って、宗教に
なぞらえた風に言う場合が多々にしてあるから、こういう
論争の場合の宗教ってのは精神論って言うわけではないぞ。
わかってますか?
163名無しさん@お腹いっぱい。:2000/08/22(火) 16:07
え?2chって宗教対立がおもしろいんじゃないの?
164>162:2000/08/22(火) 16:36
言いたいことは分らなくも無いんだけど、プログラミングの方法論を
すぐに宗教で片付けて思考停止はして欲しくないな。
最終的に宗教論争という結論にするのは双方が感情的なやり取りだけになって
議論が進まなくなった時だけでいいよ。
仮に結論が宗教でも途中意見のやり取りは有意義だと思うんだけどな。
>論理論理としきりに騒いでいる人がいるけど、それは自分だけに通用する論理。
>「俺ルール」ってやつです。他の人には理解できません。
みたいに相手の意見を聞く前から自己完結なものと決めつける姿勢では、
水掛論や感情的なやり取りを産むんじゃないのかな。
165名無しさん@お腹いっぱい。:2000/08/22(火) 16:44
Yahoo! 掲示板にでも逝って下さい。2chは誹謗・中傷専用です。
166156:2000/08/22(火) 16:51
>159
勘違いしているようですが、ハンガリアン記法擁護派に対して宗教という
言葉を使った訳ではありません。
どちらの意見も等価であると前に書いてあるとおり、双方に向けた言葉です。
あまり宗教という単語にこだわらないで下さい。

>161
>コーディング規約やプログラミングテクニックなんてものは賛否両論が
>絶対にあるわけだし全部宗教だと言えてしまうように思う。
そうですね。その通りだと思います。

>結局のところ個人やプロジェクトで決定権のある奴が独断で採用・非採用を
>決めるしかないもんだろ。
それはその組織によるのでは?

>決めるときの参考になるように長所や短所をあげあったり、長所や短所の
>議論するのが建設的だと思うんだが間違ってるだろうか?
理想を言えばその通りですね。
しかし、160以上あるレスの中で建設的な議論をしている人はほんの一握りです。

ハンガリアン記法を知らないプログラマはおそらく、ごく少数でしょう。
ということは、多くの人はすでに取捨を済ませていると言うことです。
(便利だと思うなら使っているし、そうでなければ使っていない)
その状態でハンガリアン記法の是非を議論しても(上の方でも言われてましたが)
ディベート(勝ち負けにこだわる議論)にしかならないでしょう。

また、ハンガリアン記法自体単純なものであるため、取捨の判断に苦しむことは
ないと思いますし、他人からどうこう言われて目から鱗が落ちて使い始めたり
使わなくなったりするといったものでも無いと思います。

あまり良いたとえじゃないかも知れませんが
「鈴木あみって美人?」
について議論するのと同じレベルだと思います。

#ちょっと急ぎのため乱文ですが、許して下さい。
167114:2000/08/22(火) 17:00
肯定的意見:
ハンガリアン記法は、コメントと同じで適度に入れれば、
ソース読解の助けになるモノだと思う。
(逆に入れすぎはウザイが。)
否定派の方々のコードにどれ位コメントが入っているか
知りたいところ。

否定的意見:
大文字・小文字の入り混じったコードの記述は、
Qwertyキーボードだと、小指に非常に大きな負担が
かかるのが致命的な欠点だと思う。
肯定派の方々の小指が壊れないことを祈る。
(親指シフトなら問題ないですが…)
168親指シフター:2000/08/22(火) 17:09
親指シフトはSHIFTキーの代わりにはなりませんょ?
169114=167>168:2000/08/22(火) 17:21
本物を知らない厨房の幻想でした。
5面。
170>166氏:2000/08/22(火) 23:36
多くの人は取捨を済ませている?ほんとに?
どうみても毛嫌い、食わず嫌いな人って結構いると思いますよ。
大体、取り入れるのは簡単だけど、ちょっとやってみた、程度じゃ
苦痛しか感じないですよ。(私はそうでしたけど、ハンガリアン記法使ってる
人で同じような人います?)
クソ呼ばわりする前に、もうちょっと辛抱強くなった方がいいですよ。

ところでハンガリアン記法の欠点って?
タイプ量が増えるという意見は、時代の流れに逆らってませんか?
変数名は8文字までにしようとでも?

置換すると云々ってのもありましたね。
ちゃんと設計してない証拠、というような反論が出てますが
おかしな反論ですか?

"m_"が美しくないというのもありますね。確かにそうかも。
でもハンガリアン記法使わない人が語を区切るのに使う"_"の
ほうがよっぽど美しくないとも思います。(ローカルだと全部小文字で
キャピタライズ出来ないですしね。)

あとは?

171名無しさん@お腹いっぱい。:2000/08/23(水) 00:05
ハンガリー記法を使わざるを得ないコードというものがどういうものか少しは考えて見ろよ。
まともに変数名を付けていたら使うか使わないかは自明だろ。
172166>170:2000/08/23(水) 00:41
>クソ呼ばわりする前に、もうちょっと辛抱強くなった方がいいですよ。

クソ呼ばわりした覚えはないですし、否定もしてません。

>ハンガリアン記法使わない人が語を区切るのに使う"_"の
>ほうがよっぽど美しくないとも思います。

ぎゃふん。もうだめ。

いろんな意味で170さんには負けました。
173>170:2000/08/23(水) 01:00
>でもハンガリアン記法使わない人が語を区切るのに使う"_"の

別にハンガリアン使わない人が皆そういう命名するわけぢゃないでしょう〜
もしかして、ハンガリアン非採用者はみんなヘンな規約採用者とか
何も考えてないウツケモノとか思ってませんか?(汗)
いや、なんとなくそういう雰囲気が……。

"_"で区切るのがヘンかどうかはともかく。
(C言語時代には結構普及してたね)
174名無しさん@お腹いっぱい。:2000/08/23(水) 01:07
前々から思ってるんだけど、「変数をクリックすると型が簡単に分かる」とか
「変数の上に型名が自動的に小さく表示される」ような
統合環境エディタがあれば万事解決するんじゃないでしょうか。

さすればハンガリー人の陰謀は劫火の下に消え去るであろう。

……もとい、将来そういうものが作られたときに、
ハンガリアン記法って完全に冗長なモノになってしまうんじゃなかろうかと。
これ、私がハンガリアン使わない理由の3%くらい(笑)にもなってるんですが
その辺どんなもんですかねえ。
175>174:2000/08/23(水) 03:45
そんなウザイエディタつかえるか〜
176>173:2000/08/23(水) 04:18
> 別にハンガリアン使わない人が皆そういう命名するわけぢゃないでしょう〜
> もしかして、ハンガリアン非採用者はみんなヘンな規約採用者とか
> 何も考えてないウツケモノとか思ってませんか?(汗)

あなたはそうでないかもしれません。
でも不可思議な命名をするプログラマは少なからずいるわけで。
だからプログラマの数が増えた場合はある程度の規制があったほうがいいと思います。
ハンガリアンがベストだとは言わないですが、
特に大きなデメリットはないし、導入も楽でそれなりに効果はある。
方針としては悪くないんじゃないでしょうか。
177名無しさん@お腹いっぱい。:2000/08/23(水) 07:15
ハンガリアン否定派の負けっぽい・・・
178名無しさん@お腹いっぱい。:2000/08/23(水) 08:15
逆だろ?
179>166=172:2000/08/23(水) 08:32
>ぎゃふん。もうだめ。
>いろんな意味で170さんには負けました。

爆笑
170が真意を見抜けないに256カノッサ(藁
180名無しさん@お腹いっぱい。:2000/08/23(水) 10:54
すみませんoさんこのMAX_KEIJYOU_SUUって何ですか……?
はい。変数で文字列型なんですね。すいませんけど頭にs付けて
もらえませんか。他のもできたら。nとsだけでいいです。
え。エラーですか。このnTmpっての、ループカウンタですね…
…この関数でも、使ってらっしゃいますよね、nTmp。
そこでしか使わないものは局所変数にするといいかもしれませんね(投げやり)
181仕切り屋厨房:2000/08/23(水) 16:40
これまでの意見をまとめてみましょー

肯定派意見:
・ハンガリアン記法は一種のコメントのようなもの
 →保守性・可読性が向上する

否定派意見:
・型を変えた時の置換が面倒
・型チェックはコンパイラに任せれば良い
・型情報は時に冗長
・タイプ量が増える → ミス増加・指に負担・効率低下
・規則に縛られるのは嫌
182>181:2000/08/23(水) 17:07
否定派意見の方ばかり細かく拾うなよ
第三者のふりしてこういうことをする奴が出てく
るのは否定派の旗色が悪いからだろうな
183>181:2000/08/23(水) 17:17
182の言うとおり否定派寄りすぎやし意見への反論意見を
書いてないからまとめに全然なってないやろ。
邪魔やからバレバレの小細工ばかりやるなアホ。>否定派
184>182@`183:2000/08/23(水) 17:42
つーか、181は肯定派じゃないの?
 肯定派:コメントつけろ!
 否定派:面倒臭いから嫌!
って感じやん。
185名無しさん@お腹いっぱい。:2000/08/23(水) 18:06
C FAQ より引用

コーディングスタイルに関する考え方は、宗教に関する考え方と同じで、議論に終りがない。
よい書き方は価値ある目標であるし、たいていは見ればよいか悪いかわかるが、文章にする
ことはできない。17.3

さらに、プログラムの書き方に関する見解は所詮見解にすぎない。"書き方論争(style wars)"に
引きずり込まれても、たいてい何も産み出さない。17.10
186否定派:2000/08/23(水) 18:39
・露骨な表現は嫌
半狩り案に限らず
187名無しさん@お腹いっぱい。:2000/08/23(水) 20:02
負けそーになると宗教にもってって終わらそうとするんだよな
188使わない派:2000/08/23(水) 22:06
ハンガリアンに致命的な欠点はないような気がするけど、
とりたてて長所もないように(私には)見えるっつーか。
型の情報なんかつけるのは蛇足でしかないと判断してるので使ってません。
それよりクリーンな命名にこだわるッスよ。
JavaのSunのコーディング規約は美しくて読みやすいと思ったんで、
割と影響受けてるかな。

想像するに、プログラマ的思考からすれば普通は蛇足=悪だから
それをコーディング規約であるハンガリアンにも適用しているのが
いわゆるハンガリアン否定派というやつじゃないだろーか、たぶん。
その是非は私ごときにゃ判断つかないけど。
#ハンガリアン記法はかなり特徴的だからなあ。
189名無しさん@お腹いっぱい。:2000/08/23(水) 22:27
>否定派寄りすぎやし

同感。ほんと極端な考え方なのが多いね。
まぁ論理的に判断して使ってないという人もいますけど。

個人的にはハンガリアン記法でもなんでもよい。
なんもないよりは、と思ってる。

>負けそーになると宗教にもってって終わらそうとするんだよな

もしくは暴言を吐く、とか。
190つまらん:2000/08/23(水) 23:38
もはやハンガリアン記法がいい悪いじゃなくてただお互い叩き合ってるだけだな。
191190:2000/08/23(水) 23:40
すまん、下げわすれた。
192名無しさん@お腹いっぱい。:2000/08/23(水) 23:51
なんでも適度でしょ?
大人数の開発なら、インターフェース部分の命名規則あたりは決めておかないと
バラバラになっちゃうし。
かといって、ローカルな小サブルーチンにまで、それを適用すると
個々のPGの能率が下がったり、見通しがかえって悪くなったり…

こんなネタで言い争いしてる人って、脳味噌デジタル?(笑
193>192:2000/08/24(木) 00:25
>こんなネタで言い争いしてる人って、脳味噌デジタル?(笑
議論の後ろの方で出てきて、他の奴がもう書いているような
事しか書けない奴が言っても説得力ね−よ(笑)
194名無しさん@お腹いっぱい。:2000/08/24(木) 00:42
ハンガリー記法は型が違うものの間でどうしても同じ名前を付けたいときに使うが、そういうことはほとんどない。
ハンガリー記法を必ず使うってことは、結局キャストの嵐か、型を機械的にひっつけないと安心できないような貧弱な変数名しか考えられないんじゃないか?
195名無しさん@お腹いっぱい。:2000/08/24(木) 00:47
どうでもいいが、すげーレス激しいな。

カスPGゴミPGにも分かる話題だから?

196名無しさん@お腹いっぱい。:2000/08/24(木) 03:00
議論に参加してないと、そこそこ面白いすね。
197名無しさん@お腹いっぱい。:2000/08/24(木) 04:04
議論に参加出来ないとだろ?
198196:2000/08/24(木) 05:12
を、さっそく予想とおりの…(プ
199名無しさん@お腹いっぱい。:2000/08/24(木) 05:18
暗いな・・・(ワラ
200196:2000/08/24(木) 06:12
あ、意表を突かれた。
201名無しさん@お腹いっぱい。:2000/08/24(木) 09:42
わざわざ「ハンガリアン」なんてお国名で命名されるのって
侮蔑的意味合いがあったりするのかなあ。
202使わない派:2000/08/24(木) 09:51
他のハンガリー人がどう思ってるかは興味あるスね。
203>201:2000/08/24(木) 10:31
そんなこと逝ってたら、逆ポーランド式もポーランドを侮蔑してるって
意味になるじゃん。

アメリカンコーヒーは侮蔑的意味合いかもしれないけどね(w
204名無しさん@お腹いっぱい。:2000/08/24(木) 12:47
結局このスレッドの反ハンガリアンって194みたいに無理な
こじつけで相手を貶すしかできないんだよな。情けなー。

ハンガリアンが
>型が違うものの間でどうしても同じ名前を付けたいときに使う
の為だと強引に決めつけて(そんな間抜けな使い方しているのはお前だけだつーの(笑))
>ハンガリー記法を必ず使うってことは、結局キャストの嵐か、型を機械的にひっつけないと安心できな
>いような貧弱な変数名しか考えられないんじゃない
という結論でこけおろす。頭腐りきってるな。
205名無しさん@お腹いっぱい。:2000/08/24(木) 14:29
それをいいだすならオランダ(以下略)
206名無しさん@お腹いっぱい。:2000/08/24(木) 16:52
ト(以下略)
207名無しさん@お腹いっぱい。:2000/08/25(金) 00:29
>201@`202@`203
えーっと、ネタだよな?

>204
>>型が違うものの間でどうしても同じ名前を付けたいときに使う
>そんな間抜けな使い方しているのはお前だけだつーの(笑)

ははは、同感。使い方も解らんのか。
208名無しさん@お腹いっぱい。:2000/08/25(金) 00:51
反ハンガリの中には”俺様”な奴が多いな。
どうせハンガリ使いとは関係なく、カスPGとゴミPGだけしか
見ないようにしてんだろ。
俺様気分でも堪能してろ。(笑)

でもハンガリ使いの中にカスPGゴミPG多いかも。
PG1年生の時に周りがハンガリだらけの環境で、自分で
考えもせずにハンガリ使いになってる奴いそうだもんな。
あと昔の常識で知識がストップしてるだけの反ハンガリも。

そんな俺はどっちの言い分も納得出来る部分もあるので
半ハンガリ。
209名無しさん@お腹いっぱい。:2000/08/25(金) 02:11
>208
>俺様気分でも堪能してろ。
オマエが一番堪能してるけどな。

>そんな俺はどっちの言い分も納得出来る部分もあるので
>半ハンガリ。
なんだかんだ言って、自分の意見がないんだよな。

自分は肯定派&使ってる派。
否定的見解は些細なことばかりで、ハンガリの利点をひっくり返せない
と感じてる。
210名無しさん@お腹いっぱい。:2000/08/25(金) 02:24
ハンガリ派の言ってる利点も些細なことばっかりだけどな。
211名無しさん@お腹いっぱい。:2000/08/25(金) 02:28
どうでもいいけどこのスレ、ハンガリー気違いが約1名いるな。
置換はうまいが頭は弱いんじゃねーの?(w
212>:2000/08/25(金) 03:27
単純に興味だけでハンガリ記法に詳しい人に聞いてみたいのだけども
char *(*(*(*hoge)[2])(int*[3]))[4];
のhogeをハンガリ記法にのっとってネーミングしなおすとどうなるんだろうか?
213名無しさん@お腹いっぱい。:2000/08/25(金) 04:03
>210
「保守性、可読性があがる」というのが些細なことですか?
214>212 :2000/08/25(金) 04:34
typedefしから、その型とわかるプリフィクスを付ければいい
と思います。
215> :2000/08/25(金) 04:39
typedefしから→typedefしてから
俺は使わない。ウザイだけ。以上。
>213
ハンガリアン派の主張するような些細なことでは
保守性は上がりません。
218名無しさん@お腹いっぱい。 :2000/08/25(金) 05:33
企業、大学などでソフトウェアの生産性に関する
調査、研究が行われてますが、ハンガリー表記を使って
バグの発生件数が減ったとか、工数が削減できたとか、
そういう報告は一つもありません。
219名無しさん@お腹いっぱい。 :2000/08/25(金) 05:47
かわいいですか・・?
ジャンガリアンハムスター

迂津田詩嚢
char *(*(*(*hoge)[2])(int*[3]))[4];

char *[4]を返す関数へのポインタの2個の配列へのポインタへのポインタ 引数はintのポインタの3この配列(intの2次元配列へのポインタ)
でいいですか?(わかんねーよ(涙)
221名無しさん@お腹いっぱい。 :2000/08/25(金) 06:25
>>217
あくまで使った場合と使わない場合とでの比較ですよ。
一定の規約を用いたほうが、保守性はあがると思うんですが。

>>218
ソースは?
222名無しさん@お腹いっぱい。 :2000/08/25(金) 06:26
>>>218
>ソースは?
というか、たんに実験してないだけ?
>221
>あくまで使った場合と使わない場合とでの比較ですよ。
>一定の規約を用いたほうが、保守性はあがると思うんですが。
「一定の規約」がハンガリー記法かよ(藁。
自分だけ使ってりゃいいだろ。

お前、相当執念深いな。
>223
>「一定の規約」がハンガリー記法かよ(藁。
逆でしょ。

>お前、相当執念深いな。
オマエモナ。
つーか。もっと説得力のある事書いてね。
それとも書けなくてプルプルしてますか
>221
>あくまで使った場合と使わない場合とでの比較ですよ。
ハンガリー表記と可読性に関連性はありません。
ハンガリー表記が読みやすいというのは慣れの問題でしょう。
226名無しさん@お腹いっぱい。 :2000/08/25(金) 07:25
> ハンガリー表記と可読性に関連性はありません。

そうかな?
変な命名をされてるソースならハンガリー表記を用いた方が
可読性は上がると思うぞ。
もちろんちゃんとした命名がされていればそれはそれで可読性は高いが。
227sage :2000/08/25(金) 07:49
>>220
これ、ハンガリ記法でも表現できるの?
お前ら>>156あたりから過去レス読み直せ

厨房でもついていける話題だからって、いつまでもしがみついてんじゃねーぞ

229使わない派 :2000/08/25(金) 11:19
>「保守性、可読性があがる」というのが些細なことですか?

だから、保守性、可読性が上がらないと判断してる人も多くいるから
ハンガリアンの是非の議論というものが存在するんでしょうが。
ハンガリアンで効率が上がるって話、
どうもいわゆるプラシボ効果というやつに思えるのだが……。
>229
保守性はともかくも、可読性はあがるというのは了解済みでは
ないんですか?
だとしたら、どんな規約ならいいんでしょうか?
それとも規約なんていらないの?
>230さん
プラシーボというか、規則に従って行動できる集団の生産性は
そうでない集団と比較して高くなる、と予想できると思います。

規則に従うモチベーションの高い集団にとっては、
何らかの規則があればよく、
その規則がハンガリアンであるかどうかが意味を持っている
度合は低いのではないか。と、これは個人的な予想です。
>229
>ハンガリアンの是非の議論というものが存在するんでしょうが。

で、その議論の行き着く先に何があるんだ?
客観的な是非が問える議題かどうかよく考えろ。

>231
>保守性はともかくも、可読性はあがるというのは了解済み

はぁ?可読性なんて読む奴の主観だろ?
上がる奴もいれば下がる奴もいるだろ。

>232
>規則に従うモチベーションの高い集団にとっては、
>何らかの規則があればよく、

おいおい、盲目的に規則に従う集団がなんでモチベーションが高い
なんて言えるんだ?
自分の納得のいかない規則については、はっきり納得できないって
言える奴のほうがモチベーション高いだろ?

>233さん
“規則に従うモチベーションの高い集団”
という表現は
“規則に従う動機づけを強くもつ集団”
と表現を変えさせていただきます。こちらの意味です。
「盲目的に」という表現は原文にはありませんのでそこのところは
ひとつ宜しくお願いします。

規則に対して何らかの発言を行う人間が状況改善にたいして
その人なりの真摯な考えをもっている、というのはその通りだと
思います。
235114=181 :2000/08/25(金) 14:52
だからー、ハンガリー記法はコメントと同じで、
適度に使えば可読性が上がり、保守性も上がるけど、
使いすぎるとウザくなって、可読性&保守性の下がるモノ
なんだってば。
人の話聞いて…もとい、読んでます?
236>235 :2000/08/25(金) 15:30
どこからが使いすぎか基準が無い、抽象的な意見だから
相手にされていないんだろ
237名無しさん@お腹いっぱい。 :2000/08/25(金) 17:43
ハンガリーの人はこの名称、迷惑しているんだろうな。
238名無しさん@お腹いっぱい。 :2000/08/25(金) 17:59
近代プログラミングの方向性は「プログラマの思考の負担を減らす」です。
この意味で、いちいちプリフィクスをつけなけらばいけないハンガリアン記法は
前近代的です。
239名無しさん@お腹いっぱい。 :2000/08/25(金) 18:00
可搬性を高くしたいのなら、特定の型に依存した何か(変数名も含む)
を極力排除することでしょうね。

可読性に関しても自然言語に近づけることが一番一般的な解かな。
俺的には嫌だけど…

240>236 :2000/08/25(金) 18:18
要するにデジタルな意見で無いとダメってこと?
流石はプログラム板。
241使わない派 :2000/08/25(金) 19:02
>で、その議論の行き着く先に何があるんだ?
>客観的な是非が問える議題かどうかよく考えろ。

あたしゃハンバリアンの是非の議論が存在する事実を指摘しただけで
それが有意義とか不毛とかには言及してないっすよ。(ま、不毛だわな)
242>239 :2000/08/25(金) 19:25
議論を全部読んでみたが、結局55=17の
>使うときと使わない場合がありますし、理想としては私もあまり型だとかデータの
>サイズとか気にせずプログラム作りたいです。現在はそれを許される環境が
>でもそうはいかない場合があるからハンガリアンを現実的な対策として使うときが
>あるのです。
が的をえているのではないか?
理想と現実は違うからハンガリアン法が使われているのでは?
243名無しさん@お腹いっぱい。 :2000/08/25(金) 19:51
見事にOOが体現されている言語ならば使わなくて良い。
C++のような、いまだ型を意識しなければ
いけないような(前近代的な?)言語なら使ったほうが良い。

これでどうでしょう?
244名無しさん@お腹いっぱい。 :2000/08/25(金) 22:03
ハンガリアン、好きじゃないけど推進派(あくまでも現在)。
理想論だけではやっていけない。
242に賛成。
ハンガリアンになにか効能があるという考えのほうが理想論だな。
(多少でも手間をかけてるコードのほうが丁寧に書いてる印象はあたえるけどな)
ハンガリアンを理想と思って使ってる人は少ないでしょ……
良くも悪くも妥協の産物だよ。
247名無しさん@お腹いっぱい。 :2000/08/26(土) 15:30
100%ハンガリアンの人って、ループ変数 i@`j なんかもハンガリアン表記にするの?
一時実数 x@`y@`z なんかも?
意地でも nCounter とか nIndex とかにしてほしいよね<るーぷかうんた
君達はどーにかしてハンガリアンをバカにしたいいんダネ(・_・)
>249
ここでずっと何かに突っ込みいれたかったカスPGが
やっと突っ込める話題になったから。
25154 :2000/08/27(日) 04:22
時と場合により使った方が良い時があると思います。
否定派は完全否定ばっかりなのですか?
ああ(頭痛)
永久ループ好き基地外がいるみたいね。

あほらしいのでsage
「レスを全部読む」限り、完全否定派はいないと思うが…
完全肯定派が数名いて、その意見を完全否定してるんでわ?
255名無しさん@中立 :2000/08/27(日) 17:35
わかり易いように名前に肯定・否定・中立を入れてみては
どうでしょう?

中立意見として書き込んでも、肯定・否定の両極端に
見られるのはちとウザい。
わかりり易いように名前に、完全強制、完全肯定、完全否定を否定、基本的に肯定、
中立、基本的に否定、完全肯定を否定、強制を完全否定、完全否定、を入れてみて
はどうでしょう…

完全強制のみ否定するとして書きこんでも、肯定、否定、中立、煽りのどれかに
見られるのはちとウザい。
257Rockewell :2000/08/27(日) 22:57
MSに入ったときにでもやればいい。
258114@中立 :2000/08/28(月) 03:56
ローカル変数に適用するのはかなり無意味かと。
目線を多少上下して宣言位置を探せば済むワケだし。

でも宣言位置を探すのが面倒なグローバル変数や
メンバに適用すれば、便利だと思います。
ローカルと明確な区別ができますし。
259中立 :2000/08/28(月) 05:58
別スレを見て思ったんだけど、型のない言語だとそれなりに有効な場合もあるかもしれない。
260自称中立 :2000/08/28(月) 07:56
>259
しかし、動的な型の言語ではほとんど使われてなかったりする。
261名無しさん@お腹いっぱい。 :2000/08/28(月) 08:02
>258
>ローカルと明確な区別ができますし。
変数の型ではなくて、スコープに基づくめいめいはハンガリー表記とは言わないと思う。
262C++書き :2000/08/28(月) 13:44
ここでハンガリー表記って言われてるのはMSコード規約のことでしょ。
263wParam :2000/08/28(月) 15:56
MS表記って既に破綻してるじゃん(笑
コードの可搬性を損なっている代表例

264C++書き@否定 :2000/08/28(月) 17:49
m_だけはどうしても抵抗あるです。
この2文字の為にC→C++への進化による収穫が
一気に台無しになってしまうような。
265名無しさん@m_肯定(つーか2) :2000/08/28(月) 19:18
C++も含めて、データメンバとメンバ関数の名前空間が一緒だから
しょうがないかな、と思ってます。
他にget〜()@`set〜()にするっていう方法もありますから、そっちを
使う事も多いです。
Hungarian Notation Revisited:
One followon trick in the Hungarian notation
is "change the type of a variable but leave the variable name unchanged".
This is almost invariably done in windows apps with the migration from
Win16 :- WndProc(HWND hW@` WORD wMsg@` WORD wParam@` LONG lParam) to Win32
WndProc(HWND hW@` UINT wMsg@` WPARAM wParam@` LPARAM lParam) where the w
values hint that they are words@` but they really refer to longs.
The real value of this approach comes clear with the Win64 migration@`
when the parameters will be 64 bits wide@` but the old "w" and "l"
prefixes will remain forever.
267名無しさん@お腹いっぱい。 :2000/08/29(火) 04:33
ハンガリー使わないと問題になるような変数名を使ってるほうが問題。
これも永遠に繰り替えすテーマだね。
MSの罪は重いな。
^C
271>264@`265 :2000/08/29(火) 14:37
>m_だけはどうしても抵抗あるです。
激しく同意します

>他にget〜()@`set〜()にするっていう方法もありますから、そっちを
>使う事も多いです。

データメンバとメンバ関数ってどのように定義しますか?

1)普通のメンバ int  age;       // Hoge::age = age;
2)MS風     int  m_nAge;      // m_nAge = age;
3)Java風味   int  age_;       // age_ = age;
        int  _age;       // _age = age;

1)普通の関数  void SetAge(int);
        int  GetAge() const;
2)多重定義関数 void Age(int);     // set
        int  Age() const;   // get

また、大文字小文字はどんな規則でやってますか?
アンチに議論が出来ない馬鹿が多いのは分った(笑)
273>271 :2000/08/29(火) 15:20
プロパティクラスを作るってのはどう?

template <class T>
class Property{
protected:
&nbsp;&nbsp;&nbsp;T data;
&nbsp;&nbsp;&nbsp;virtual Property<T>& operator=(const T& value)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data = value;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return *this;
&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;virtual operator const T&() const
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return data;
&nbsp;&nbsp;&nbsp;}
};
274273 :2000/08/29(火) 15:21
何か間違ってるかも。
添削プリーズ。
275名無しさん@お腹いっぱい。 :2000/08/29(火) 15:36
ハンガリアン記法が廃れつつあるのは事実。
「実用的で無かった」ということだな。
議論せずとも時が結論を出している。
>3)Java風味   int  age_;       // age_ = age;

それ、Java風味ちゃうと思うで。Sun風味だと、
age = newAge;
とかだと思う。
277>275 :2000/08/29(火) 16:10
かくしてハンガリー人の陰謀は(それはもういい)
278名無しさん@お腹いっぱい。 :2000/08/29(火) 16:14
コンパイラが
age = age
とかでエラーだしてくれるとうれしいな
闘うハンガリアン!
280>278 :2000/08/29(火) 22:22
>age = age
セミコロンがないからって事?
でも、よくブレークポイント入れるためにこれ書いて、
消し忘れて恥ずかしい思いをするから、警告ぐらいは出して欲しい・・・。
281280 :2000/08/29(火) 22:24
sage忘れた。ごめん。
282名無しさん@お腹いっぱい。 :2000/08/29(火) 22:43
ハンガリアン100%の人って熱狂的な一神教なの?
俺は自分の得になることなら、どこの神さまでも「それなりに」信じるけどね。
変な宗教にハマるなよー (笑)
283名無しさん@そうだ選挙にいこう :2000/08/30(水) 10:33
ハンガリアン表記をチェックするlintみたいなやつってないのかな。
284名無しさん@中立 :2000/08/30(水) 17:07
アンチ派は存在しない100%肯定派(いるの?)に向かって煽てるバカが多い。
電柱に向かってファイティングポーズとってる酔っ払いと一緒だな。
285名無しさん@お腹いっぱい。 :2000/08/30(水) 17:11
>電柱に向かってファイティングポーズとってる酔っ払いと
はい!オレやりました
286名無しさん@お腹いっぱい。 :2000/08/30(水) 20:56
オブジェクト指向プログラミングでは、新しい型を定義することがプログラミン
グ行為そのものなわけで、次々に生産される数多くのクラスに的確な名前を考え
るだけでも面倒なところを、それに加えてそれらの型を連想させ、かつ衝突しな
いようなプリフィックスを考えるなんて面倒さが倍になりません? それにそのよ
うに作られる大量のプリフィックスを覚えきれるとは思えないし…。C++ でハン
ガリー記法っていうのは無理があるんじゃないかな。さすがにマイクロソフトも
C# ではやめたみたいだしね。

普通、変数が使われるのはその変数の宣言の近くだから、ハンガリー記法じゃな
くても変数の型は分かりますよ。
クラスには普通付けないよ
>>287
誰もクラスにつけるとはいっていないとおもうけれど?
>アンチ派は存在しない100%肯定派(いるの?)に向かって

ていうか、約1名のハンガリー信者が既に逃げたように見えるのだが。
>さすがにマイクロソフトも C# ではやめたみたいだしね。
なになに……(C#の仕様書確認中)おおう、確かに。
これでハンガリアンの最大の砦が崩壊したか。
291名無しさん@お腹いっぱい。 :2000/08/30(水) 22:39
>ていうか、約1名のハンガリー信者が既に逃げたように見えるのだが。
その煽りが電柱に向かってファイティングポーズ。
284はうまいこと言うな。
同じ言葉を繰り返してる酔っ払い相手にする暇人もいないだろうし
そろそろ諦めたら(笑)
292名無しさん@お腹いっぱい。 :2000/08/30(水) 23:16
いいねぇ他の板で使おう(笑)<電柱に向かってファイティングポーズ
293>288 :2000/08/31(木) 00:14
思い切り言ってますが・・・
294>289 :2000/08/31(木) 00:35
>ていうか、約1名のハンガリー信者が既に逃げたように見えるのだが
その人にいじめられたのが悔しくて
いつまでも暴れているんダネ(・_・)
295286 :2000/08/31(木) 09:32
>293
クラス名に付けるとは言ってないよ。
>>295
クラスのインスタンスに付けるという意味ですか?
297286 :2000/08/31(木) 12:36
>296
(そのクラス型の)変数に付けるという意味です。
298286 :2000/08/31(木) 12:43
プリフィックス付けるのは変数でしょ。
299名無しさん@お腹いっぱい。 :2000/08/31(木) 12:55
>>286
>次々に生産される数多くのクラスに的確な名前を考え
>るだけでも面倒なところを、それに加えてそれらの型を連想させ、かつ衝突しな
>いようなプリフィックスを考えるなんて

読みようによっては、つーかこれ、クラスの名前にプリフィクスつける、って読むほうが
日本語としては自然かも(藁
300286 :2000/08/31(木) 13:03
>読みようによっては、つーかこれ、クラスの名前にプリフィクスつける、って読むほうが
>日本語としては自然かも(藁

そうかも。ごめん。
>その人にいじめられたのが悔しくて
>いつまでも暴れているんダネ(・_・)
うむ、すまんな。
302名無しさん@お腹いっぱい。 :2000/08/31(木) 23:33
というか、クラスには普通シンボル名にもプリフィクスは付けない
と思うです。

CStringなんかは、strとか付けますが、C++(MFC)では文字列を表す
方法がいろいろあったりするので、strとかszとかlpszとか
して使い分けてるんだと思います。
303名無しさん@お腹いっぱい。 :2000/08/31(木) 23:43
lp って、なんか懐かしい(藁
304286 :2000/09/01(金) 12:04
>というか、クラスには普通シンボル名にもプリフィクスは付けない
>と思うです。

http://msdn.microsoft.com/library/techart/hunganotat.htm
の Naming Rules 3 に、単純な型の場合は短いタグでもいいと書かれているから
int nX@` nY; の代わりに int x@` y; でもいいと思うけど、クラス型は単純な型
じゃないと思うよ。

マイクロソフトも OS/2 をやっていたころは Naming Rules を守っていたんだけ
どね。
305ぶも〜 :2000/09/07(木) 13:32
識別子の命名法のベースになるのはハンガリアン記法以外のないのれすか?
306名無しさん@お腹いっぱい。 :2000/09/07(木) 14:03
英語とかローマ字とか日本語とかでそのまま命名すればいいんじゃない?
長い変数名でGo
307んぽ! :2000/09/07(木) 14:29
組織ごとに、個人ごとに
管理主体が決めればいいだけの話だな。
308名称未設定 :2000/09/14(木) 20:05
外部変数はgで始める。
メンバ変数はmで始める。
ローカル変数はtheで始める。
引数は入力のみはin、出力のみはout、入出ありはioで始める。
309>308 :2000/09/14(木) 20:10
このスレ、もう沈めようよ。見苦しいし・・・。
310>308 :2000/09/15(金) 00:37
そんなに区別したければ
外部(グローバル)変数 ::a
メンバ変数 this.a
ローカル変数 a
入力のみ int const* p
出力のみ/入出力あり int* p;
と記述したほうがよいのでは?これならコンパイラもチェックしてくれる。

ただ*pが構造体やクラスの場合、大抵「入出力あり」になると思うが。
[in]や[out]、とりわけ後者があまりはやらないのは上記の理由と思う。
分散処理を記述するならともかく、そうでないばあいは
read(handle@` outBuffer@` len);
といったケースぐらいしか使い道がないのでは。。。
311308 :2000/09/15(金) 03:27
どっかで見たのをうろ覚えで書いてみました。
Appleが出してるサンプルは、こういうルールが多いです。
ちなみに実践してるのは、グローバル変数を「g」で始めてるぐらいです。
>311
勧めるわけでもなし、否定するでもなし、問題提起するわけでも無し、
何が言いたいのか分からんよ。
言いたいことが無いなら、収束した煽りスレッドを蒸し返すなよ。
313名無しさんi486 :2000/09/15(金) 09:07
308はこのスレッド全部読みの刑に処す。
314!=308 :2000/09/15(金) 14:13
>>313
>スレッド全部読みの刑
刑…刑なのか?
読んじゃったよ。検挙されても前科なかったのに(泣
315名無しさん@お腹いっぱい。 :2000/09/19(火) 14:26
うう俺も読んじまった。
MSだってC#どころかJavaのサンプルでもm_だけで型情報なんてないのもあるよ。
自分たちも恥ずかしくなったんじゃない。
MSがソースオープンしない理由が半がり暗記法(げIME恐るべし)だったりして。
>自分たちも恥ずかしくなったんじゃない。

うむ、よくわかる話だ。
317名無しさん@お腹いっぱい。:2000/10/31(火) 10:18
ハンガリー以外で、しっかり系統だった規則ってなんかないですかねぇ。
318>317:2000/10/31(火) 10:51
型定義なんてIDEの検索機能使って調べりゃいいじゃん。
修飾するのはポインタとスコープのみにしとけ。
319名無しさん@お腹いっぱい。:2000/10/31(火) 13:19
MSが規定したベンダー実装APIをつくってるんだけど、
そいつのパフォーマンス測定&テストアプリのコードは
ちゃんとハンガリアンで、dwSizeとかなってぞ。
まだ、現役の模様。
320名無しさん@お腹いっぱい。:2000/10/31(火) 13:41
誰かハンガリアンに代わる「俺ルール」を提案してくれれば、荒れて楽しいぞ。
きっと。
一応、おれもハンガリアン改な俺ルールを使用している(藁
よくある単語(NumberOfとかFlagとかStringとか)、一々単語で書くよりハン
ガリアン「風」接頭字にしたほうがタイピングが減って楽じゃん?
例えば
bool Connection()
{
int serverNum > int nServer; サーバの数
char saverName[] > szServer; サーバの名前
bool saverFlag > bool bServer; サーバの状態フラグ
...
元々のハンガリアン記法とは、目的も用法も違うけどね。
321名無しさん@お腹いっぱい。:2000/10/31(火) 18:10
モンゴリアンチョップ!!
322貧乏bccプログラマ:2000/10/31(火) 20:06
IDE使ってない私はどうすれバ?>318

もっとも最近はあまり使ってませんが。
ローカル変数に限って言えば(特に変数の宣言位置が自由なC++では)、
変数の宣言&使用を1画面に収めりゃそんなに必要ないわけだし。
それに名前が思いつかん&覚えられんほど変数使います?

ただ、グローバル変数やメンバ変数は型情報を見つけにくい&
名前の衝突が起こりやすいのでハンガリアンを適用した方が
ソースの可読性&保守性は上がると思います。
というわけでケースによって使い分けに1票。

ところで文字列とハンドル(WinのH〜型)はポインタか否かどっちにすべき?
わからんのでsz、hを付けてますが…
3232:2000/11/01(水) 04:04
ああ、あの頃は若かったなぁ…
今は関数名にpcとかnとかはつけません。
324名無しさん@お腹いっぱい。:2000/11/01(水) 04:20
否定派はまともなこと言えないから好き(ワラ
325名無しさん@お腹いっぱい。:2000/11/01(水) 09:21
>>324
まともな意見言ってる人もいるいる。
(自分に都合の悪い意見は目に入らない?)
326名無しさん@お腹いっぱい。:2000/11/01(水) 16:26
>>325
どれ?
327名無しさん@お腹いっぱい。
いるころにはいるがなんか弱いきがする、、、
というか否定派には荒らしたいだけの奴が多そうだな。