ハンガリー表記って使ってます?
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG変数名に型を含めることに何の意味があるのかチト疑問。
0002名無しさん@お腹いっぱい。
NGNGclass foo{
zoo* m_pcContents;
int m_nContents;
public:
zoo* pcContents(void);
int nContents(void);
}
とかってやるときに名前を考えなくていいから、都合の良いときだけ使ってます。
(あ、ハンガリー記法だとそうぢゃないっていうツッコミは勘弁ね)
0003では違うツッコミで
NGNG(昔のMS Setupプログラムのサンプルで見かけたことはあったけど)
0004名無しさん@お腹いっぱい。
NGNG型変わったらどーすんの?その度に変数名変えるの?
00052
NGNGほうに入ります(あ、あとづけっぽい?)
0006名無しさん@お腹いっぱい。
NGNG型情報を識別子名に織り込むことで,間違った型を使わないように
したり、複雑なキャストをするときに目で見て正当性を確認できる
ようにしたのです。
発生理由からすると、タイプセーフリンクができ、実行時型情報も
とれる C++ で、ハンガリアン記法を使う強い意味はない。
個人的には、ポインタか否かを表す程度にしか(p しか)つかわないなぁ。
0007名無しさん@1周年
NGNGクラス名かどうかとか
グローバルかローカルか
とかで表記をかえた方がわかりやすいと思う
ハンガリアンに限らず、こんな表記・命名規則が
便利っていうのあったら教えて下さい
0008>4
NGNG>型変わったらどーすんの?その度に変数名変えるの?
置換
0009検索...HIT C.FAQ
NGNG「ハンガリー記法(Hungarian Notation)」とは。使う価値があるか。
A:
ハンガリー記法は名前の付けかたの取り決めで、Charles Simonyiが 発明した。これは変数の型を(おそらく、その使いみちも)変数の名前 に符号化する。一部のグループでは愛され、その他の人達からは容赦 なく酷評されている。主な利点は、データ型や意図する使い方が名前 を見ればわかるということである。主な欠点は、データ型は変数の名 前に付けて運んでまわるような大事な情報では必ずしもないことであ る。
0010検索...HIT
NGNGhttp://www.arcpit.co.jp/winapi/api_01/ap010203.htm
0011名無しさん@お腹いっぱい。
NGNGくだらねー。
あっちこっちで使ってたら収集つかんだろ。
だいたい、同じ名前で違う接頭詞の変数名があったら
置換使えんじゃん。
0012名無しさん@お腹いっぱい。
NGNG0013陰陽
NGNGハンガリアンは巨大プロジェクトで威力を発揮するよ。
数百人が携わるプロジェクトでは同じ用途の変数でも
名前がバラバラで、ソース解析が大変。ハンガリアンにしておけば
ある程度名前のバリエーションを減らすことが出来る。
変数名もまともにつけられない厨房を使うなってのは無理だから
少しくらいの効果はあるよ。
小さいプロジェクトでは使ったこと無いなあ。やっぱりポインタにpつけるくらい。
整数型と文字型の変数があるときは
WorkNum // 整数
WorkStr // 文字型
ってやっちゃう。
0014名無しさん@お腹いっぱい。
NGNGカウンタとしての伝統的な i@` j などは別にして、意味を持った
名前を付けるように管理するけどなぁ。どっちにしろ、綴りを
間違えたら終わり。って点では同じだし。
変数名をまともに付けられない連中は、コードも信用できない。
って考えませんか?
0015名無しさん@お腹いっぱい。
NGNG>変数名をまともに付けられない連中は、コードも信用できない。
>って考えませんか?
全く同意。
0016サンガリアン
NGNG2,2、サンガリア
サンガリア、サンガリア
ピュア〜
0017>11
NGNG実際にハンガリアンを使った大きなプログラムでも収集が
付かなかった事は無いから収集つかんと言われても困る。
変数名を変えたぐらいで収集つかなくなるようなのは
プログラムかプログラマの力量の問題だろう。
グローバル変数を節操無く使っているとか。
>同じ名前で違う接頭詞の変数名があったら
>置換使えんじゃん。
君は正規表現を知らないのか?
また不安なケースは確認しながら置換すれば間違いは
起きない。変数の型を変えることなど稀だし大した
手間ではない。
001817
NGNG確認は必須だと思うぞ。そのついでに置換するだけだ。
001917
NGNG決めればいいと思うが「百害あって一利無し」と言うほど
毛嫌いして排除しなければいけないようなものでは無いと思う。
プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
自分で自由に決めれるなら好きにすればいいと思うぞ。
0020名無しさん@お腹いっぱい。
NGNGMicrosoftの命名規則でクラス変数の頭に m_ を付けるっていうのがありますよね。
見た目はともかくあの規則は悪くないと思ってます。
変数名に型情報を含める必要性はあまり感じないのですが、
クラス変数とローカル変数、メソッドのパラメータとは
名前だけで明確に区別できた方が便利だと思う。
そう思っている人いませんか?
0021>17
NGNG挙げないのはなぜ?だらだら長文書くより、最大の利点を一つ
挙げた方が楽でしょ?
>そもそも変数の型を変えた場合はほとんどの場合コードの
>確認は必須だと思うぞ。そのついでに置換するだけだ。
ついでって・・・それを面倒くさい&無駄な「作業」とは思わないの?
0022>21
NGNGあなたが欠点と言われた部分が欠点じゃ無いという事に的を
しぼって書いたのが何が悪いのでしょう?それが議論と言う
ものです。長所は長所で別に議論すればいいことです。
まともに反論や議論ができないからといって、だらだらとした
長文扱いの中傷や論点をずらすのはみっともないですよ。
>ついでって・・・それを面倒くさい&無駄な「作業」とは思わないの?
全く思わないです。置換など一瞬です。あなたはいちいち変数名を
全部手作業で打ちなおしてでもいるのですか?
型を変えた場合の見なおしは「無駄」では無く「必要」な作業です。
0023陰陽>14
NGNG一から見直してあげる余力も気力もないので、あとはそいつの
作った検査仕様書を信用するしかない。
002417
NGNG理想のプログラミングからは離れているのかもしれませんが現実には存在して
います。
そういったケースでハンガリアン記法は有効だと思っていますから、
実際に自分の設計するプロジェクトで使ったりもしました。
不用意な型変換が見つけにくいバグの原因になりますし、データ処理の可読性が
あがり理解しやすく変更もしやすくなります。
実際にその効果はあったと実感しています。
そういう意味ではケースによってはC++でハンガリアン記法を使うことがあって
も別に構わないようにも思います。
0025>22
NGNG>全部手作業で打ちなおしてでもいるのですか?
17にあるような「不安なケース」の場合はどうですか?
002617>25
NGNG範囲だと思います
0027名無しさん@お腹いっぱい。
NGNGpcszとかは鬱陶しいだけ。つかわん。
m_@` g_@` pHoge@` bFlag@` とかは使うよ。
dwSizeとかは、冗長で愚かしいよね。
0028>17
NGNG別に怒らせるつもりはなかったんだけどね。
>だらだら長文書くより
ここが勘に触ったのだな。たぶん。
確かに100も欠点挙げられないけど。喩えじゃん。
・タイプ量が増える
・タイプ量が増えればタイプミスも増える
・接頭詞と実際の型が食い違う可能性があり、その場合デバッグが困難
・変数名から変数の目的が直感的に分かりづらくなる
個人差はあるだろうけどこんなところかな。
ソースの可読性が落ちるのと、型指定が重複している印象を受けるのが
たまらなく無駄に思えて嫌だ。
だいいちMSのソース以外で使っているのを見たことがないもん。
といまさら僕が何を言っても「中傷」にしか見えないだろうから、あとは
いろんなWebページ見てみてよ。反ハンガリー記法の人って結構多いから。
有名人でいえばLinus氏とか。
0029名無しさん@お腹いっぱい。
NGNGばりばりハンガリアン信者です。
逆に無いと読めなくなってるっぽい。
これが最大の欠点かも。
0030>17
NGNG>理想のプログラミングからは離れているのかもしれませんが現実には存在して
>います。
けど、ハンガリアン記法でデータ実体のバイトサイズまで指定できますか?
2ビットのビットフィールドに対して b2 とかの接頭子をつけますか?
たまたま、当時の(MS の)開発環境が(ソフト、人材含め)タコなだけでしょ。
0031名無しさん@お腹いっぱい。
NGNGで議論になるんだよね、結局は。
0032Mingw32萌え
NGNG分けた方がやりやすいと思うて
p:ポインタ/n:整数型/r:実数型/s(sz):文字型/b:フラグ/a:その他
m_:メンバ/g_:グローバル
を使ってます。
ダメ?
003332
NGNG○ s(sz):文字列型
ね。
0034>32
NGNG検出できるでしょ?
ハンガリアンはまともな警告を出さない/出せないコンパイラを使っていた頃の
生活の知恵です。今や、識別子の上にマウスポインタを載っけるだけで
情報が読み出せるんだから。
0035名無しさん@お腹いっぱい。
NGNGコンパイラの変わりに警告を検出するではなく
コーディング段階で型を強く意識する為のものです
0036名無しさん@お腹いっぱい。
NGNGメリットはあるな。
0037名無しさん@お腹いっぱい。
NGNG外部仕様、内部仕様が決定された上でコードを書くコーダーとの
差だと思うな。
自分でコードを組むんなら、型などは後からついてくるし、局所的な
スクラップ&ビルドに耐えられるコーディングをしなければならない。
複数作業、というよりはピラミッド型のシステムでは、創意工夫など
してもらっては困るから、型を強く意識してもらう必要があるのかな?
幸いというか、ピラミッド型開発はしたことがないし、やりたいとも
他人にやらせたいとも思わないから、死ぬまで「ハンガリアン記法」は
知識としてのみの存在になるだろうな。
0038名無しさん@お腹いっぱい。
NGNG正論なんだけど後半表現がきつすぎ。
0039名無しさん@お腹いっぱい。
NGNG俺耳悪いぜ。それ以上に先生カツゼツ悪いぜ。
0040名無しさん@お腹いっぱい。
NGNGhttp://msdn.microsoft.com/library/techart/hunganotat.htm
0041>38
NGNG0043名無しさん@お腹いっぱい。
NGNG感情論じゃなくて宗教論争の間違えじゃない(w
>>37って単なるコーダーでしょ。
>型などは後からついてくるし
こういうのって大概スパゲッティなコードになるよ
問題分析、設計、コーディングが出来るのがプログラマって
どっかの本で読んだことがある。
設計もまともにしないで、場当たり的にコードを書いてる37って
単なる世間知らずなキーパンチャだと思う今日このごろ。
宗教関係は嫌いだからハンガリアンについてはノーコメントね
0044名無しさん@お腹いっぱい。
NGNG0045>43
NGNGなる根拠を詳しく説明してください。
43さんは設計段階でいちいち使用する変数を列挙するのですか?
ちょっと想像がつきません。
ただの煽りだったのなら回答はして頂かなくて結構です。
004632
NGNGマウス重ねるのはちと面倒。>34
そーゆうのを泥縄式と言いませんか?
それに整数/実数程度の区別は付けときません?>37
細かすぎず、荒すぎない程度に分けて表記するのが
ベストだと思うんですが。
004743
NGNGループで使うのとか、一時変数までは列挙はしないが、設計の段階で
データ構造を決めるから変数は列挙するよ。一人で遊ぶんだったら
変数表みたいなのは作らんけどね。
つーか、データ構造が後から分かるプログラムってどんなの?
0048cafe
NGNG設計段階でほとんど全ての型は決定してます。そして、変更は
大掛かりな戻り作業となります。
・システム間でのメッセージ通信
・DBの構築
・異種言語が混在での開発
外部仕様ならコーディング前にきまってるんだよ。
スパうんぬんは戻り作業が多くなると発生しやすい。
0049名無しさん@お腹いっぱい。
NGNG感情論?どこが
0050名無しさん@お腹いっぱい。
NGNG0051>49
NGNG0052>51
NGNGコーディング規則のひとつにしか過ぎない。
赤がすきか、青がすきか、ってレベルの話なんだよ。最初っから。
pData と書くか、DataPtr と書くかの違いでしょ?
0053>48
NGNG0054名無しさん@お腹いっぱい。
NGNGつーか、途中から入った時既に使われてたんですけど。
ほとんど17さんの意見と同じですね。置換作業は面倒とは思いません。
また、30さんのようにバイト数まで記述する事はなかったです。
数百万ステップもあるソース群だと、何らかの変数名規則は必須かと思われます。
そして52さんのようにどちらかにするか決めて前者の方を採用しただけです。
szNumとnNumのように使い分け、型を意識してコード書いてました。
他人のソースをメンテする時は、shu@`syuの違いなど、
気に入らない変数名などは徹底してコピペしました。
ハンガリアン記法を使うなら使う、使わないなら使わないと決めて
混在しないようにすれば混乱は起きないと思います。
005517>28
NGNG私への誹謗もそうですが、あなたの発言って論理より感情が先に来ているように
見えます。反論を論理的に書いてレスが多少長くなってもそれは必要だからです。
それを単純に誹謗するのは感情的すぎますね。その癖、議論とは関係無い事も
書けとは矛盾しています。
ハンガリアンが大嫌いな人がいるのは分ってますよ。
変数名が長くなることと、変数に型情報を含めたプログラムをしたくない
というのが主な理由でしょう。
個人的な見解を書くと、ハンガリアンが、メモリやデーターサイズへの要求が
シビアだったDOS/Windows畑で生まれ一部に普及していったのは必然だったと
思いますし、それを気にする必然性がほとんど無いUNIX出身のプログラマには
理解できないのもよく分ります。LinusもC FAQの意見もそちらよりの意見でしょう。
それに私自身、ケースバイケースだと言ってるだけで、別にハンガリアン信者では
ないですよ。
使うときと使わない場合がありますし、理想としては私もあまり型だとかデータの
サイズとか気にせずプログラム作りたいです。現在はそれを許される環境が
でもそうはいかない場合があるからハンガリアンを現実的な対策として使うときが
あるのです。
005617
NGNGとは関係ありません。
警告レべルは当然一番きつくした上でもハンガリアンにメリットがあると思って
使いましたよ。だいいちコンパイラの警告はキャストで逃げられてしまいます。
24に書いたとおりデータ型とサイズを強く意識してプログラミングしてもらい、
可読性と生産性と効率をあげるのが目的です。
36の書かれたデータサイズを安易に変えさせないメリットというのも確かにある
かもしれませんね。
>・タイプ量が増える
>・タイプ量が増えればタイプミスも増える
>・接頭詞と実際の型が食い違う可能性があり、その場合デバッグが困難
>・変数名から変数の目的が直感的に分かりづらくなる
何文字がタイプ量が増えるのはそうでしょうが、他はよく分りませんね。
>・変数名から変数の目的が直感的に分かりづらくなる
これが特に分らない。接頭語をつけてるかどうかの違いだけで直感的に分りづらく
なるはずがない。ハンガリアンを否定するために無理矢理こじつけてませんか?
それと決まりきった接頭語がついたからといって、タイプミスって増えますか?
すぐ慣れると思いますし慣れたらミスは一般的なプログラマならそれが原因の
タイプミスはまず無いように思いますけどね。
接頭詞と実際の型が食い違う可能性はそりゃあるんだろうけど、規約を破られた
場合まであまり考えたくないなぁ(笑)
そういうのはどんな規約でもありうることでしょうけど、それを気にしだしたら
規約作れなくない?
まぁそのリスクが多少あるのは認めますけどハンガリアンが必要なときに、
メリットと天秤にかけると、気にする必要はないリスクだと判断するでしょうね。
型を意識的じゃなく間違えて使ったら、それこそCでも警告レベルあげとけば
どこかで警告が出る可能性が高いからデバッグまで持ち越すことってあまり
ないんじゃないかなぁ。
005717
NGNG「現在はそれを許される環境が・・・」は
現在はそれを許される環境が増えてきていて嬉しいですが、そうはいかない
場合もあるからハンガリアンを現実的な対策として使うときがある
のです。
0058名無しさん@お腹いっぱい。
NGNG何気ない一言を一生根に持つタイプだ。
005917>58
NGNGただ議論してるだけですし、こんなことで一生どころか1秒も
恨んだりなんてしないですよ。
誹謗と思える発言には一応はしますけどね。
というわけで誹謗中傷はやめてね(笑)
006059
NGNG誹謗と思える発言には一応は指摘はしますけどね。
0061>17
NGNGなーにが議論だ?オマエも感情むき出しじゃねーか
逝ってよしだな
006217>61
NGNG私にその結論を押しつけられても知らないです。
宗教だとか感情だけならハンガリアン使わないです。
論理で必要だと思ったとき使っただけです。
ちなみに19が一番言いたいことなので再引用しておきます。
>ハンガリアンを使う使わないは自由だしケースバイケースで
>決めればいいと思うが「百害あって一利無し」と言うほど
>毛嫌いして排除しなければいけないようなものでは無いと思う。
>プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
>自分で自由に決めれるなら好きにすればいいと思うぞ。
0063名無しさん@お腹いっぱい。
NGNGしともいる(私がそうだ)から、議論や雑談は続けて欲しいです。
参考になる意見もあるし。
あ、でも、煽りに負けてるような人の意見は説得力が無い感じはす
るです。
006417>63
NGNG別に誰か特定の人に向けてだけ発言しているわけではないので、
意見は個々で判断すれば良いことでしょう。
その上で好きにすればいいです。
0065俺は一言しか参加しないよ
NGNG言ってる事が正論であっても、相手のあらを探す姿勢が嫌。
所詮文字によるコミュニケーションであり、
正確に伝えられるかどうかもわからないのに、
「善意に解釈する」事を絶対しないね。
NULLの頃から。
0066名無しさん@お腹いっぱい。
NGNG行間を読んで意志疎通を図る能力の欠如。
0067>
NGNG自分の書きこみが相手にどういう印象を与えるか承知してるが、
「ふっかけてくるのは相手のほうで自分はただ議論をしてるだけ」
と言えば逃げられると思ってる。
0068名無しさん@お腹いっぱい。
NGNG0069名無しさん@お腹いっぱい。
NGNG0070>69
NGNG0071意味なし
NGNG0072名無しさん@お腹いっぱい。
NGNGなんとなく読んで感じたんですけど
たぶん、17あなたは勘違いしているよ
ここで会話している人は、
バンガリxxなんて使われたら
開発効率が落ちてしまうことがウザくてウザくてたまらない
実力者ばかりなんだわ。
17が想定しているプログラマの実力が違うわけ。
バンガリxxが多人数開発に有用だ
という無茶な論理でバンガリxxを用いられて
100人の中で自分の生産効率が落ちるのは我慢ならないよな
たぶん17に近い所のプロジェクトで100人からなる開発者(コーダー)で
開発していることは
バンガリ記法ウザイと思う人間(プログラマ)が10人いれば
完成しちゃうような程度のプロジェクトなんだわ。
0073名無しさん@お腹いっぱい。
NGNG>プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
これだよな、すべて勝手に決められた事で
無駄な時間を費やしてしまうんだ。
コーダーしかいない場合はバンガリ...
プログラマはバンガリ使わず。
このスレにはコーダーもかなりいるんだけどね。(wara
ああ、コーダーが業界から消えてくれれば
こういう下らんスレも必要なかったのにな。
0074名無しさん@お腹いっぱい。
NGNG置換もまともに出来なくて接頭詞がつくとタイプミスして
しまう馬鹿とかだろ?
一緒に仕事したくねーな(わら)
0075DolBacky
NGNGインタフェイスさえ一般性をもたせりゃまあよいかな〜…程度の考え。
WORD wFlag;
...
DWORD dwFlag = (DWORD)wFlag;
0076職業話は板違い
NGNG0077名無しさん@お腹いっぱい。
NGNGなんで、プログラマが文字列置換をするのに
必死にならなきゃいかんわけ?
御前さんがコーダーだから、アタマイイプログラマがうらやましだけでしょ
がんばって痴漢をうまくヤッテテネ(藁
0078>77
NGNGハンガリー記法で開発効率が落ちるプログラマーの言う事は流石に違うぜ
置換とタイプミスで開発効率が落ちるんだろ?ゲラゲラ
0079>17
NGNGオマエ全然足元が見えてないだろ?
オマエのやってるのは議論じゃないよ。ちっとも建設的じゃない。
単に相手を言い負かしたいだけ。
学生のやる競技議論がちょうどそんな感じだな。議論の中から何かを
見出すのでなく、とにかく自分が勝ちたい議論だ。
>ちなみに19が一番言いたいことなので再引用しておきます。
だったらもっと短く書けるだろ?
うざい長文かくなという指摘は至極全うなものとは思わないか?
0080>77
NGNGまくるってか?
データ設計もまともに出来ない接頭詞は覚えられずタイプミスす
るプログラマーの頭の中身が見てみたいぜ。ゲラゲラ
0081>80
NGNG0082名無しさん@お腹いっぱい。
NGNG> 開発していることは
> バンガリ記法ウザイと思う人間(プログラマ)が10人いれば
> 完成しちゃうような程度のプロジェクトなんだわ。
厨房がちょっとかじった本で「ハンガリアンはださい」というのを読んじゃったのかな。
コーダーは必要だよ?ちゃんとした設計が出来る人間が1から100までコーディング
してたら大変じゃん。コーディングだけできる人間が残りの部分をやってくれればいい。
実力のある人でもそこで力を発揮されると船頭多くして船山に登っちゃったり、
それにあわせて他の部分の修正とか入ってしまうので力の無駄遣いになる。
>80
専門出てVBちょこっとかじったような似非プログラマが派遣会社から送られてくるの。
ハンガリアンうんぬんはともかく、そんなことも分からない奴に言っても無駄だとは思うけど。
あ、そういえばまだ夏休み終わってなかったな・・・
008354
NGNGあまり作業効率は変わらないと思いますが。
データの型を頻繁に変えるなんてことは
ほとんど起きたことありません。
設計自体に、はじめから問題がある時ぐらいではないでしょうか。
73さんの
>>プロジェクトや社内の規約で決まっていれば素直に従えばいいし、
>これだよな、すべて勝手に決められた事で
>無駄な時間を費やしてしまうんだ。
これが守れないなら、一人で(または代表となって)新規にプロジェクトを
起こすしかないのではないでしょうか?
火消し役に投入されたりした人が我流で突き進まれたら困ります。
0084名無しさん@お腹いっぱい。
NGNG「書くぜー書くぜー、思い付くまま気のむくままー、残業なんてーするもんかー
はいでーきた」
って人が多いと思うんですよ。実際に存在するし。
そういう人にハンガリアンって似合わない気がするし、ハンガリアン押し付けたら
確実に効率落ちるでしょうね。
タイプ数が増える云々はたてまえで、もっと精神的な面で(嫌だ、無駄だ、ウザイ
美しくない・・・etc)いわゆる創造力が落ちるのでしょう。
こういう人から見れば確かに、「百害あって一利なし」でしょうね。
立場が変われば見方も変わるということですよ。
どちらの主張もそれぞれ正しいし、間違っていると言えます。
宗教論争というのは的をついてますね、その通りだと思います。
0085>83
NGNG法律とは違うんだから
それとも君の組織じゃPMは神様なのかい?
008654
NGNGうーん、その通りかも知れませんね。
>85
例に挙げた「火消し役」は大抵「途中」から参加します。
最初からそのプロジェクトに参加するケースなら
85さんのように考えるのが正しいと思いますが。
まあ私のケースは火消しでもなんでもなくてただ入れ替わりで
途中から入っただけなので、もうそこで確立されたルールに
従うしかないと思ったわけです。
0087名無しさん@お腹いっぱい。
NGNGその通りです。納得しました。
0088>84
NGNG0089名無しさん@お腹いっぱい。
NGNGやめちまえ
「百害あって一利なし」は糞プログラマだろ
0090名無しさん@お腹いっぱい。
NGNGその通りです。納得しました。
0091名無しさん@お腹いっぱい。
NGNGだから84は
>立場が変われば見方も変わるということですよ。
って書いてんだろーが
読むだけじゃなくて理解しろや、なぁタコスケ
>89
哀れすぎてかけてやる言葉が見つかんねーよ
あとな、否定意見書くなら理由も書こうや、糞名無しさんよ
0092名無しさん@お腹いっぱい。
NGNG無理矢理決める規則だといいうことに落ち着いた。
88-90は同一人物糞ガリアン厨房でした。
>91
もう厨房を相手しなくてもいいよ、どうせ煽りあいにしかならないって。
あーあ、夏休み早く終わんないかな。
糞ガリアン厨房は2学期から社会復帰した方がいいよ。
つーか、俺に夏休みクレヨン
0093名無しさん@お腹いっぱい。
NGNG他人のソースでも読みやすいです。
0094名無しさん@お腹いっぱい。
NGNG0095名無しさん@お腹いっぱい。
NGNGプログラム技術@なんだから長所短所を議論しろや
0096名無しさん@お腹いっぱい。
NGNGそれ結構うれしい。つーか、仕事なら気をつかうのが義務だろ。
人のこと考えないソース書いて平気なひとには、
どうでもいい「糞」なことなんだろうけど。
0097>92
NGNG糞発言はどっちもどっちだから糞でない冷静な議論の再開を望む
反ハンガリー表記は精神論ばかりで説得力無いぞ
0098名無しさん@お腹いっぱい。
NGNG>84-87-91-92も同一人物に見える
違う。確証なく同一人物当て、辞めた方がいいよ。他のスレでもナ
>反ハンガリー表記は精神論ばかりで説得力無いぞ
反ハンガリにムカ入ったので、煽ったが
>糞発言はどっちもどっちだから糞でない冷静な議論の再開を望む
激しく同意
0099名無しさん@お腹いっぱい。
NGNGタイプミスにもかかわらず、コンパイルがとおってしまった、
という悲惨なバグも減る可能性が高くなって好都合だと思います
0100名無しさん@お腹いっぱい。
NGNGタイプミスしたらコンパイル通らんと思いますが……。
0101名無しさん@お腹いっぱい。
NGNG我輩にハンガリアン使わせたきゃ、そのメリットを説明してちょ。
0102>101
NGNG回りで使ってないなら特に不要でしょう。
ハンガリアンにさえしとけば、私もチームの一員に
010327>101
NGNGポインタや、メンバ変数、グローバル変数、ローカル変数の区別がつくコーディング規約は、
ソースに対する素早い理解に役立つよ。
ちなみに俺のスタンスは>>27
0104>100
NGNGint abc;
short adc;
abc = hogehoge(); // <-実はadcに入れるつもりだった。
// ハンガリアン
int nAbc;
short sAdc;
sAbc = hogehoge(); // コンパイルエラー
見たいな意味でした
0105名無しさん@お腹いっぱい。
NGNG他の言語でみたことない。27のスタンスくらいならいいかな。
m_とかのアンダースコアがあまり美しくないのが個人的にはいやなんだろうなあ。
0106名無しさん@そうだ謙虚にいこう
NGNGVBでつかってます・・・。
fnlGetXXXX()とか・・・(ああ、ばれるかも)。
ちなみにfnlというのは
戻り値long(=l)のfunction(=fn)という意味です。
あ、変数じゃなくて関数の命名規約だ。これ。
0107名無しさん@お腹いっぱい。
NGNG>違う。確証なく同一人物当て、辞めた方がいいよ。他のスレでもナ
お前が言うな
お前みたいに他人には平気で同一人物扱いや煽りをしておいて
自分が言われるときれるじこちゅーがいるからスレッドが荒れ
るんだ
0108名無しさん@お腹いっぱい。
NGNG誤解されて言われるとは思ったけどナ〜
俺は確証あって同一人物当ててるの。それで当たるのよ。
確証無しに言ってくるのが多いから、
読みが浅くて、気になっただけだ
0109>108
NGNG0110名無しさん@お腹いっぱい。
NGNG当たっていようが外れていようが、指摘された本人は煽られてる
と思うものだ。
0111cafe
NGNG見事に荒れてますなぁ。
0112>108
NGNG注意されたし。というか初期なら薬で直るから、その手のページで確認してごらん。
0113名無しさん@お腹いっぱい。
NGNGあんたが言うなよ・・・
0114名無しさん@お腹いっぱい。
NGNG・その1
基底クラス内:
int m_nAny;
派生クラス内:
m_nAny = func();
のように、定義されている位置と使われている位置が離れている変数の
型チェックが容易になる。
(m_と付いていることで定義位置の予測もできるし…)
・その2
float r=-1.1;
int n;
nAbs = fabs(r); /* 切捨て発生 */
といったエラーを発見しやすくなる。
(深刻なエラーというワケでもありませんが。)
0115名無しさん@お腹いっぱい。
NGNGちなみにクラスとか構造体のインスタンスは、どうめいめいしてますか?
0116名無しさん@お腹いっぱい。
NGNGMicrosoft以外にももう少し普及したような気がする。
0117名無しさん@お腹いっぱい。
NGNG0118名無しさん@そうだ選挙にいこう
NGNGハンガリー人の陰謀です。
011932
NGNG整数型と実数型を区別するのは意味があると思うんですが…
…最低限ポインタ変数と変数は分けますよね?
0120名無しさん@お腹いっぱい。
NGNG0121名無しさん@お腹いっぱい。
NGNG読みにくいソースの場合は少なからず効果がある。
だから大きなプロジェクトではハンガリアンの意味があるという意見はよくわかります。
ハンガリアンを批判している人はLinus並の有能なプログラマか
あまり人のソースを読んだことのない厨房プログラマか
ただのアンチMSでしょう。
でも本っ当に使えないプログラマに限って
ハンガリアン批判をしてたりするんだよなぁ。
有能な奴はどんな条件でもいいソースを書いてくれる。
頭の固いロートルプログラマは消えてくれ!
0122名無しさん@お腹いっぱい。
NGNGよくあるムダテクニックと同じで、良くなる気がするだけなんじゃないの?
0123名無しさん@お腹いっぱい。
NGNG0124名無しさん@お腹いっぱい。
NGNG裸のハンドルなんて使ってないで、クラスでラップしましょう。
0125名無しさん@お腹いっぱい。
NGNGあなた一人で仕事してるんじゃないんですよ。
タイプ量が増えると反論する人、ワープロ検定じゃないんだから。
まさか、人差し指でタイプしてるわけじゃないでしょう。
ハンガリアン否定派に対して感じることなんですが、自分なりのやり方を
確立していてそれはいい事なんですが、あとはひたすら否定するのみ。
取捨選択してみたら?
ハンガリアンに完全に従っていたら、そりゃもう無駄だと思うけど、
少しだけ取り入れるとかでも結構気の効いたソースになると思うんだけどね。
0126名無しさん@お腹いっぱい。
NGNGあなた一人で仕事してるんじゃないんですよ。
タイプ量が増えると反論する人、ワープロ検定じゃないんだから。
まさか、人差し指でタイプしてるわけじゃないでしょう。
ハンガリアン否定派に対して感じることなんですが、自分なりのやり方を
確立していてそれはいい事なんですが、あとはひたすら否定するのみ。
取捨選択してみたら?
ハンガリアンに完全に従っていたら、そりゃもう無駄だと思うけど、
少しだけ取り入れるとかでも結構気の効いたソースになると思うんだけどね。
0127123>124
NGNG0128名無しさん@お腹いっぱい。
NGNG>変数名とか適当に決めてる人のソースって、大抵の場合、可読性低い。
ハンガリアン否定派→変数名を適当に決めてる人
という事ですか?
それはあまりにも決め付けがひどすぎるでしょう。
0129名無しさん@お腹いっぱい。
NGNGhDCがDCになっていても問題無いように思いますが?
0130123>129
NGNG0131名無しさん@お腹いっぱい。
NGNGそんな言い方しないでちゃんと言い返してください。
寂しくなっちゃう。
0132123>131
NGNGあなたは問題無いと思う。
どっちでもいいじゃないですか、感覚の問題です。
0133125
NGNG>128
いえ、もちろん全部がそうだとは思いません。
”大抵の場合”と書いてありますので、そこを強調して
読んでいただければ。
ともかく、誤解を生む表現失礼しました。
私が一緒に仕事した中で、ハンガリアン嫌いの人はほとんど
そうだったので、こんな風に書きましたが、実際、いろんな
会社で適当な命名をしている人を見ましたよ。一応かなりお出来に
なる方でした。
が、可読性の観点から考えると、本人は満足しているみたいでしたが、
周りの反応を見れば一目瞭然でした。
その中にハンガリアン使わない人もいたんですよ。
しかしここのハンガリアン否定派の人、ひたすら否定するか煽ってる
だけみたいですよ。後半特に。どっちもどっちか。
あと根拠もなく実力者ヅラしたりして、ほんと見苦しい。
0134>125
NGNG最後のコレが無ければ…
なんか残念です。
0135名無しさん@お腹いっぱい。
NGNGハンガリアン表記をしてるわけでもなかったりしますし、
私的な経験でもハンガリアン表記が生産性に悪い影響があるとか
良い影響があるとか特に思いません。
関係無いなら、めんどくさい事は止めておこうと思ってます。
0136名無しさん@お腹いっぱい。
NGNGリスクを軽減する方法ということでどうでしょ?
そのリスクがない恵まれた環境なら、いらんね。
0137名無しさん@お腹いっぱい。
NGNG> ハンガリアン表記をしてるわけでもなかったりしますし
そういうプロジェクトはおそらく無能なプログラマは排除されているのでしょう。
しかしこの世のプログラムの大半は必ずしも有能でないプログラマに委ねられているのですよ、
そしてそういう無能なプログラマをうまく使えるかどうかがSEの技量というわけです。
> 関係無いなら、めんどくさい事は止めておこうと思ってます。
こういう考えは時にあなたを窮地に追い込むと思いますよ、多分ね。
0138名無しさん@お腹いっぱい。
NGNGつまりスクリプト言語の場合変数に型を表すものが
ついてると、たま〜に救われること無いかね?
コンパイル時に型チェックする言語では
みにくくなるだけの気もするが・・
0139名無しさん@お腹いっぱい。
NGNG>しかしこの世のプログラムの大半は必ずしも有能でないプログラマに委ねられているのですよ、
>そしてそういう無能なプログラマをうまく使えるかどうかがSEの技量というわけです。
ハンガリアンで無能プログラマの生産性が上がるようには思えません。
>こういう考えは時にあなたを窮地に追い込むと思いますよ、多分ね。
ハンガリアンは生産性に影響を及ぼさないという私の考えが正しいと
すれば、この考えは杞憂ということになります。
そして私はハンガリアンが有用だという証拠を見たことはありません。
0140>138
NGNGそういう名前をつけてあると解りやすいですよね。
SmallTalkで anInteger とか aCollection とかっていうの、よく
つかった覚えがあります。
0141名無しさん@お腹いっぱい。
NGNG> ハンガリアンで無能プログラマの生産性が上がるようには思えません。
生産性はともかく可読性が上がると思います。
あなたは他人のプログラムを読んだことはありますか?
一般に使われているようなプログラムの質は(ここで議論されているより)ずっと低いですよ。
本当に驚くほど。
あなたが見ているプロジェクトのソースは多分理想的な条件で作られたすばらしいソースなのでしょう。
でもそれが全てだと思ってはいけません。
0142140
NGNG0143名無しさん@お腹いっぱい。
NGNG私はハンガリアンでソースの質が向上するかどうかを疑問視してるわけで、
質が低いプログラムにハンガリアンを導入すればマシになるって
繰り返し反論されても、議論が進まないと思うんですが。
(生産性とか保守性ってのはもちろん可読性も含めての話です)
0144>143
NGNG可読性や保守性があがるという具体的な理由は幾つも
書かれているだろ。それに具体的でない反論を繰り返
ししているのはそっち側だろ。135も139も143も思う
とか思えないばかりで具体的な反論も意見は無い。
何を言われても具体的に反論せず頑なに納得しないだけ
の奴とは議論なんて不可能だろ。
0145名無しさん@お腹いっぱい。
NGNGハンガリアンをつかってなくても成功してるプロジェクトがあるというのが
のが私の根拠ですが、それに対する反論が
「それはプログラマがそのプロジェクトが優秀だから」という物です。
私はなんと反論すればよいのでしょうか。
0146145
NGNG適当に修正して読んでください。
0147144>145
NGNGハンガリアンの効果は別問題だろ。
それこそ「それはプログラマがそのプロジェクトが優秀だから」
みたいな答えしかしようがなかったんじゃねーの?
例えばオブジェクト指向を使ってなくても成功している
プロジェクトがある=オブジェクト指向は効果無いに
なるか?もっとまともな意見書いてよ。
0148名無しさん@お腹いっぱい。
NGNGハンガリアンの有用性を具体的に指摘した書き込みってどれですか?
どれも慣れとか感覚とかで済みそうな指摘ばかりだと思うんですが。
0149>148
NGNGあんたの印象だろ。
そう思うなら個々の意見に対して慣れとか感覚である
ということを具体的に指摘すればいいじゃないか。
0150名無しさん@お腹いっぱい。
NGNG0151名無しさん@お腹いっぱい。
NGNG0152名無しさん@お腹いっぱい。
NGNG個々の書き込みにはそれぞれ反論がついてるようですが?
0153名無しさん@お腹いっぱい。
NGNG0154>152
NGNGつーか意見を全部無視して話しを進める奴は議論に
参加する資格ないだろ。
0155>152
NGNG0156名無しさん@お腹いっぱい。
NGNGハンガリアン記法を使ったソースが読みやすい人もいれば、読みづらい人もいる。
「ハンガリアン記法を取り入れることで、ソースの保守性・可読性が向上する」
と言う意見と
「変数名に型を含めるなんて馬鹿馬鹿しい」
はまったく等価です。
論理論理としきりに騒いでいる人がいるけど、それは自分だけに通用する論理。
「俺ルール」ってやつです。他の人には理解できません。
「言いたいことは分かるけど、本当に読みづらいんだもの」
って言われたらおしまいでしょ?
だから何度も何度も宗教だってレスが上がってるんです。
そりゃ宗教にも論理があるでしょうけど、その論理が通用するのは自分と、自分と
同じ思想を持った身内だけです。
0157>156
NGNG0158名無しさん@お腹いっぱい。
NGNG>一部のグループでは愛され、その他の人達からは容赦 なく酷評されている。
こーゆー記述どまりなんだから。
ハンガリー記法はそゆモンだってことだけ頭に置いときゃいいんぢゃないですか。
0159名無しさん@お腹いっぱい。
NGNG精神的理由だけで拒否してハンガリー記法を使っているプログラマー
を誹謗中傷している一部の奴らが狂信的なだけだろ。
C FAQだって決して排他しろとは言ってないし、宗教扱いするほど
通用しないものでは無い事をハンガリー記法派は言ってるだけで押
しつけている発言は見当たらねーぞ。
せいぜい規約で決まってれば素直に従えばいいと言ってる発言がある
ぐらいで神聖視しているわけじゃないだろ?
0160メタ批判
NGNGもちょっと読み手の感情を逆撫でしない文章は書けないのかね?
0161名無しさん@お腹いっぱい。
NGNGでも宗教扱いすることを他人に押しつけて議論を終わらせようとする156
みたいな意見は嫌いだね。宗教的と片付ける意見も、宗教的では無いと
考えて論理的に長所や短所を説明する意見と同じで、個人の意見に過ぎない
だろ。
コーディング規約やプログラミングテクニックなんてものは賛否両論が
絶対にあるわけだし全部宗教だと言えてしまうように思う。
結局のところ個人やプロジェクトで決定権のある奴が独断で採用・非採用を
決めるしかないもんだろ。
決めるときの参考になるように長所や短所をあげあったり、長所や短所の
議論するのが建設的だと思うんだが間違ってるだろうか?
0162>159
NGNG絶対正しいわけでも、絶対間違ってるわけでもないから
両方が意地になれば決着がつかない。
言語を普及させようとするときに、布教とか言って、宗教に
なぞらえた風に言う場合が多々にしてあるから、こういう
論争の場合の宗教ってのは精神論って言うわけではないぞ。
わかってますか?
0163名無しさん@お腹いっぱい。
NGNG0164>162
NGNGすぐに宗教で片付けて思考停止はして欲しくないな。
最終的に宗教論争という結論にするのは双方が感情的なやり取りだけになって
議論が進まなくなった時だけでいいよ。
仮に結論が宗教でも途中意見のやり取りは有意義だと思うんだけどな。
>論理論理としきりに騒いでいる人がいるけど、それは自分だけに通用する論理。
>「俺ルール」ってやつです。他の人には理解できません。
みたいに相手の意見を聞く前から自己完結なものと決めつける姿勢では、
水掛論や感情的なやり取りを産むんじゃないのかな。
0165名無しさん@お腹いっぱい。
NGNG0166156
NGNG勘違いしているようですが、ハンガリアン記法擁護派に対して宗教という
言葉を使った訳ではありません。
どちらの意見も等価であると前に書いてあるとおり、双方に向けた言葉です。
あまり宗教という単語にこだわらないで下さい。
>161
>コーディング規約やプログラミングテクニックなんてものは賛否両論が
>絶対にあるわけだし全部宗教だと言えてしまうように思う。
そうですね。その通りだと思います。
>結局のところ個人やプロジェクトで決定権のある奴が独断で採用・非採用を
>決めるしかないもんだろ。
それはその組織によるのでは?
>決めるときの参考になるように長所や短所をあげあったり、長所や短所の
>議論するのが建設的だと思うんだが間違ってるだろうか?
理想を言えばその通りですね。
しかし、160以上あるレスの中で建設的な議論をしている人はほんの一握りです。
ハンガリアン記法を知らないプログラマはおそらく、ごく少数でしょう。
ということは、多くの人はすでに取捨を済ませていると言うことです。
(便利だと思うなら使っているし、そうでなければ使っていない)
その状態でハンガリアン記法の是非を議論しても(上の方でも言われてましたが)
ディベート(勝ち負けにこだわる議論)にしかならないでしょう。
また、ハンガリアン記法自体単純なものであるため、取捨の判断に苦しむことは
ないと思いますし、他人からどうこう言われて目から鱗が落ちて使い始めたり
使わなくなったりするといったものでも無いと思います。
あまり良いたとえじゃないかも知れませんが
「鈴木あみって美人?」
について議論するのと同じレベルだと思います。
#ちょっと急ぎのため乱文ですが、許して下さい。
0167114
NGNGハンガリアン記法は、コメントと同じで適度に入れれば、
ソース読解の助けになるモノだと思う。
(逆に入れすぎはウザイが。)
否定派の方々のコードにどれ位コメントが入っているか
知りたいところ。
否定的意見:
大文字・小文字の入り混じったコードの記述は、
Qwertyキーボードだと、小指に非常に大きな負担が
かかるのが致命的な欠点だと思う。
肯定派の方々の小指が壊れないことを祈る。
(親指シフトなら問題ないですが…)
0168親指シフター
NGNG0169114=167>168
NGNG5面。
0170>166氏
NGNGどうみても毛嫌い、食わず嫌いな人って結構いると思いますよ。
大体、取り入れるのは簡単だけど、ちょっとやってみた、程度じゃ
苦痛しか感じないですよ。(私はそうでしたけど、ハンガリアン記法使ってる
人で同じような人います?)
クソ呼ばわりする前に、もうちょっと辛抱強くなった方がいいですよ。
ところでハンガリアン記法の欠点って?
タイプ量が増えるという意見は、時代の流れに逆らってませんか?
変数名は8文字までにしようとでも?
置換すると云々ってのもありましたね。
ちゃんと設計してない証拠、というような反論が出てますが
おかしな反論ですか?
"m_"が美しくないというのもありますね。確かにそうかも。
でもハンガリアン記法使わない人が語を区切るのに使う"_"の
ほうがよっぽど美しくないとも思います。(ローカルだと全部小文字で
キャピタライズ出来ないですしね。)
あとは?
0171名無しさん@お腹いっぱい。
NGNGまともに変数名を付けていたら使うか使わないかは自明だろ。
0172166>170
NGNGクソ呼ばわりした覚えはないですし、否定もしてません。
>ハンガリアン記法使わない人が語を区切るのに使う"_"の
>ほうがよっぽど美しくないとも思います。
ぎゃふん。もうだめ。
いろんな意味で170さんには負けました。
0173>170
NGNG別にハンガリアン使わない人が皆そういう命名するわけぢゃないでしょう〜
もしかして、ハンガリアン非採用者はみんなヘンな規約採用者とか
何も考えてないウツケモノとか思ってませんか?(汗)
いや、なんとなくそういう雰囲気が……。
"_"で区切るのがヘンかどうかはともかく。
(C言語時代には結構普及してたね)
0174名無しさん@お腹いっぱい。
NGNG「変数の上に型名が自動的に小さく表示される」ような
統合環境エディタがあれば万事解決するんじゃないでしょうか。
さすればハンガリー人の陰謀は劫火の下に消え去るであろう。
……もとい、将来そういうものが作られたときに、
ハンガリアン記法って完全に冗長なモノになってしまうんじゃなかろうかと。
これ、私がハンガリアン使わない理由の3%くらい(笑)にもなってるんですが
その辺どんなもんですかねえ。
0175>174
NGNG0176>173
NGNG> もしかして、ハンガリアン非採用者はみんなヘンな規約採用者とか
> 何も考えてないウツケモノとか思ってませんか?(汗)
あなたはそうでないかもしれません。
でも不可思議な命名をするプログラマは少なからずいるわけで。
だからプログラマの数が増えた場合はある程度の規制があったほうがいいと思います。
ハンガリアンがベストだとは言わないですが、
特に大きなデメリットはないし、導入も楽でそれなりに効果はある。
方針としては悪くないんじゃないでしょうか。
0177名無しさん@お腹いっぱい。
NGNG0178名無しさん@お腹いっぱい。
NGNG0179>166=172
NGNG>いろんな意味で170さんには負けました。
爆笑
170が真意を見抜けないに256カノッサ(藁
0180名無しさん@お腹いっぱい。
NGNGはい。変数で文字列型なんですね。すいませんけど頭にs付けて
もらえませんか。他のもできたら。nとsだけでいいです。
え。エラーですか。このnTmpっての、ループカウンタですね…
…この関数でも、使ってらっしゃいますよね、nTmp。
そこでしか使わないものは局所変数にするといいかもしれませんね(投げやり)
0181仕切り屋厨房
NGNG肯定派意見:
・ハンガリアン記法は一種のコメントのようなもの
→保守性・可読性が向上する
否定派意見:
・型を変えた時の置換が面倒
・型チェックはコンパイラに任せれば良い
・型情報は時に冗長
・タイプ量が増える → ミス増加・指に負担・効率低下
・規則に縛られるのは嫌
0182>181
NGNG第三者のふりしてこういうことをする奴が出てく
るのは否定派の旗色が悪いからだろうな
0183>181
NGNG書いてないからまとめに全然なってないやろ。
邪魔やからバレバレの小細工ばかりやるなアホ。>否定派
0184>182@`183
NGNG肯定派:コメントつけろ!
否定派:面倒臭いから嫌!
って感じやん。
0185名無しさん@お腹いっぱい。
NGNGコーディングスタイルに関する考え方は、宗教に関する考え方と同じで、議論に終りがない。
よい書き方は価値ある目標であるし、たいていは見ればよいか悪いかわかるが、文章にする
ことはできない。17.3
さらに、プログラムの書き方に関する見解は所詮見解にすぎない。"書き方論争(style wars)"に
引きずり込まれても、たいてい何も産み出さない。17.10
0186否定派
NGNG半狩り案に限らず
0187名無しさん@お腹いっぱい。
NGNG0188使わない派
NGNGとりたてて長所もないように(私には)見えるっつーか。
型の情報なんかつけるのは蛇足でしかないと判断してるので使ってません。
それよりクリーンな命名にこだわるッスよ。
JavaのSunのコーディング規約は美しくて読みやすいと思ったんで、
割と影響受けてるかな。
想像するに、プログラマ的思考からすれば普通は蛇足=悪だから
それをコーディング規約であるハンガリアンにも適用しているのが
いわゆるハンガリアン否定派というやつじゃないだろーか、たぶん。
その是非は私ごときにゃ判断つかないけど。
#ハンガリアン記法はかなり特徴的だからなあ。
0189名無しさん@お腹いっぱい。
NGNG同感。ほんと極端な考え方なのが多いね。
まぁ論理的に判断して使ってないという人もいますけど。
個人的にはハンガリアン記法でもなんでもよい。
なんもないよりは、と思ってる。
>負けそーになると宗教にもってって終わらそうとするんだよな
もしくは暴言を吐く、とか。
0190つまらん
NGNG0191190
NGNG0192名無しさん@お腹いっぱい。
NGNG大人数の開発なら、インターフェース部分の命名規則あたりは決めておかないと
バラバラになっちゃうし。
かといって、ローカルな小サブルーチンにまで、それを適用すると
個々のPGの能率が下がったり、見通しがかえって悪くなったり…
こんなネタで言い争いしてる人って、脳味噌デジタル?(笑
0193>192
NGNG議論の後ろの方で出てきて、他の奴がもう書いているような
事しか書けない奴が言っても説得力ね−よ(笑)
0194名無しさん@お腹いっぱい。
NGNGハンガリー記法を必ず使うってことは、結局キャストの嵐か、型を機械的にひっつけないと安心できないような貧弱な変数名しか考えられないんじゃないか?
0195名無しさん@お腹いっぱい。
NGNGカスPGゴミPGにも分かる話題だから?
0196名無しさん@お腹いっぱい。
NGNG0197名無しさん@お腹いっぱい。
NGNG0198196
NGNG0199名無しさん@お腹いっぱい。
NGNG0200196
NGNG0201名無しさん@お腹いっぱい。
NGNG侮蔑的意味合いがあったりするのかなあ。
0202使わない派
NGNG0203>201
NGNG意味になるじゃん。
アメリカンコーヒーは侮蔑的意味合いかもしれないけどね(w
0204名無しさん@お腹いっぱい。
NGNGこじつけで相手を貶すしかできないんだよな。情けなー。
ハンガリアンが
>型が違うものの間でどうしても同じ名前を付けたいときに使う
の為だと強引に決めつけて(そんな間抜けな使い方しているのはお前だけだつーの(笑))
>ハンガリー記法を必ず使うってことは、結局キャストの嵐か、型を機械的にひっつけないと安心できな
>いような貧弱な変数名しか考えられないんじゃない
という結論でこけおろす。頭腐りきってるな。
0205名無しさん@お腹いっぱい。
NGNG0206名無しさん@お腹いっぱい。
NGNG0207名無しさん@お腹いっぱい。
NGNGえーっと、ネタだよな?
>204
>>型が違うものの間でどうしても同じ名前を付けたいときに使う
>そんな間抜けな使い方しているのはお前だけだつーの(笑)
ははは、同感。使い方も解らんのか。
0208名無しさん@お腹いっぱい。
NGNGどうせハンガリ使いとは関係なく、カスPGとゴミPGだけしか
見ないようにしてんだろ。
俺様気分でも堪能してろ。(笑)
でもハンガリ使いの中にカスPGゴミPG多いかも。
PG1年生の時に周りがハンガリだらけの環境で、自分で
考えもせずにハンガリ使いになってる奴いそうだもんな。
あと昔の常識で知識がストップしてるだけの反ハンガリも。
そんな俺はどっちの言い分も納得出来る部分もあるので
半ハンガリ。
0209名無しさん@お腹いっぱい。
NGNG>俺様気分でも堪能してろ。
オマエが一番堪能してるけどな。
>そんな俺はどっちの言い分も納得出来る部分もあるので
>半ハンガリ。
なんだかんだ言って、自分の意見がないんだよな。
自分は肯定派&使ってる派。
否定的見解は些細なことばかりで、ハンガリの利点をひっくり返せない
と感じてる。
0210名無しさん@お腹いっぱい。
NGNG0211名無しさん@お腹いっぱい。
NGNG置換はうまいが頭は弱いんじゃねーの?(w
0212>
NGNGchar *(*(*(*hoge)[2])(int*[3]))[4];
のhogeをハンガリ記法にのっとってネーミングしなおすとどうなるんだろうか?
0213名無しさん@お腹いっぱい。
NGNG「保守性、可読性があがる」というのが些細なことですか?
0214>212
NGNGと思います。
0215>
NGNG0216名無しさん@お腹いっぱい。
NGNG0217名無しさん@お腹いっぱい。
NGNGハンガリアン派の主張するような些細なことでは
保守性は上がりません。
0218名無しさん@お腹いっぱい。
NGNG調査、研究が行われてますが、ハンガリー表記を使って
バグの発生件数が減ったとか、工数が削減できたとか、
そういう報告は一つもありません。
0219名無しさん@お腹いっぱい。
NGNGジャンガリアンハムスター
迂津田詩嚢
0220名無しさん@お腹いっぱい。
NGNGは
char *[4]を返す関数へのポインタの2個の配列へのポインタへのポインタ 引数はintのポインタの3この配列(intの2次元配列へのポインタ)
でいいですか?(わかんねーよ(涙)
0222名無しさん@お腹いっぱい。
NGNG>ソースは?
というか、たんに実験してないだけ?
0223名無しさん@お腹いっぱい。
NGNG>あくまで使った場合と使わない場合とでの比較ですよ。
>一定の規約を用いたほうが、保守性はあがると思うんですが。
「一定の規約」がハンガリー記法かよ(藁。
自分だけ使ってりゃいいだろ。
お前、相当執念深いな。
0224名無しさん@お腹いっぱい。
NGNG>「一定の規約」がハンガリー記法かよ(藁。
逆でしょ。
>お前、相当執念深いな。
オマエモナ。
つーか。もっと説得力のある事書いてね。
それとも書けなくてプルプルしてますか
0225名無しさん@お腹いっぱい。
NGNG>あくまで使った場合と使わない場合とでの比較ですよ。
ハンガリー表記と可読性に関連性はありません。
ハンガリー表記が読みやすいというのは慣れの問題でしょう。
0226名無しさん@お腹いっぱい。
NGNGそうかな?
変な命名をされてるソースならハンガリー表記を用いた方が
可読性は上がると思うぞ。
もちろんちゃんとした命名がされていればそれはそれで可読性は高いが。
0227sage
NGNGこれ、ハンガリ記法でも表現できるの?
0228名無しさん@お腹いっぱい。
NGNG厨房でもついていける話題だからって、いつまでもしがみついてんじゃねーぞ
0229使わない派
NGNGだから、保守性、可読性が上がらないと判断してる人も多くいるから
ハンガリアンの是非の議論というものが存在するんでしょうが。
0230名無しさん@お腹いっぱい。
NGNGどうもいわゆるプラシボ効果というやつに思えるのだが……。
0231名無しさん@お腹いっぱい。
NGNG保守性はともかくも、可読性はあがるというのは了解済みでは
ないんですか?
だとしたら、どんな規約ならいいんでしょうか?
それとも規約なんていらないの?
0232名無しさん@そうだ謙虚にいこう
NGNGプラシーボというか、規則に従って行動できる集団の生産性は
そうでない集団と比較して高くなる、と予想できると思います。
規則に従うモチベーションの高い集団にとっては、
何らかの規則があればよく、
その規則がハンガリアンであるかどうかが意味を持っている
度合は低いのではないか。と、これは個人的な予想です。
0233名無しさん@お腹いっぱい。
NGNG>ハンガリアンの是非の議論というものが存在するんでしょうが。
で、その議論の行き着く先に何があるんだ?
客観的な是非が問える議題かどうかよく考えろ。
>231
>保守性はともかくも、可読性はあがるというのは了解済み
はぁ?可読性なんて読む奴の主観だろ?
上がる奴もいれば下がる奴もいるだろ。
>232
>規則に従うモチベーションの高い集団にとっては、
>何らかの規則があればよく、
おいおい、盲目的に規則に従う集団がなんでモチベーションが高い
なんて言えるんだ?
自分の納得のいかない規則については、はっきり納得できないって
言える奴のほうがモチベーション高いだろ?
0234名無しさん@そうだ謙虚にいこう
NGNG“規則に従うモチベーションの高い集団”
という表現は
“規則に従う動機づけを強くもつ集団”
と表現を変えさせていただきます。こちらの意味です。
「盲目的に」という表現は原文にはありませんのでそこのところは
ひとつ宜しくお願いします。
規則に対して何らかの発言を行う人間が状況改善にたいして
その人なりの真摯な考えをもっている、というのはその通りだと
思います。
0235114=181
NGNG適度に使えば可読性が上がり、保守性も上がるけど、
使いすぎるとウザくなって、可読性&保守性の下がるモノ
なんだってば。
人の話聞いて…もとい、読んでます?
0236>235
NGNG相手にされていないんだろ
0237名無しさん@お腹いっぱい。
NGNG0238名無しさん@お腹いっぱい。
NGNGこの意味で、いちいちプリフィクスをつけなけらばいけないハンガリアン記法は
前近代的です。
0239名無しさん@お腹いっぱい。
NGNGを極力排除することでしょうね。
可読性に関しても自然言語に近づけることが一番一般的な解かな。
俺的には嫌だけど…
0240>236
NGNG流石はプログラム板。
0241使わない派
NGNG>客観的な是非が問える議題かどうかよく考えろ。
あたしゃハンバリアンの是非の議論が存在する事実を指摘しただけで
それが有意義とか不毛とかには言及してないっすよ。(ま、不毛だわな)
0242>239
NGNG>使うときと使わない場合がありますし、理想としては私もあまり型だとかデータの
>サイズとか気にせずプログラム作りたいです。現在はそれを許される環境が
>でもそうはいかない場合があるからハンガリアンを現実的な対策として使うときが
>あるのです。
が的をえているのではないか?
理想と現実は違うからハンガリアン法が使われているのでは?
0243名無しさん@お腹いっぱい。
NGNGC++のような、いまだ型を意識しなければ
いけないような(前近代的な?)言語なら使ったほうが良い。
これでどうでしょう?
0244名無しさん@お腹いっぱい。
NGNG理想論だけではやっていけない。
242に賛成。
0245名無しさん@お腹いっぱい。
NGNG(多少でも手間をかけてるコードのほうが丁寧に書いてる印象はあたえるけどな)
0246名無しさん@お腹いっぱい。
NGNG良くも悪くも妥協の産物だよ。
0247名無しさん@お腹いっぱい。
NGNG一時実数 x@`y@`z なんかも?
0248名無しさん@お腹いっぱい。
NGNG0249名無しさん@お腹いっぱい。
NGNG0250名無しさん@お腹いっぱい。
NGNGここでずっと何かに突っ込みいれたかったカスPGが
やっと突っ込める話題になったから。
025154
NGNG否定派は完全否定ばっかりなのですか?
0252名無しさん@お腹いっぱい。
NGNG0253名無しさん@お腹いっぱい。
NGNGあほらしいのでsage
0254名無しさん@お腹いっぱい。
NGNG完全肯定派が数名いて、その意見を完全否定してるんでわ?
0255名無しさん@中立
NGNGどうでしょう?
中立意見として書き込んでも、肯定・否定の両極端に
見られるのはちとウザい。
0256名無しさん@完全強制否定派
NGNG中立、基本的に否定、完全肯定を否定、強制を完全否定、完全否定、を入れてみて
はどうでしょう…
完全強制のみ否定するとして書きこんでも、肯定、否定、中立、煽りのどれかに
見られるのはちとウザい。
0257Rockewell
NGNG0258114@中立
NGNG目線を多少上下して宣言位置を探せば済むワケだし。
でも宣言位置を探すのが面倒なグローバル変数や
メンバに適用すれば、便利だと思います。
ローカルと明確な区別ができますし。
0259中立
NGNG0260自称中立
NGNGしかし、動的な型の言語ではほとんど使われてなかったりする。
0261名無しさん@お腹いっぱい。
NGNG>ローカルと明確な区別ができますし。
変数の型ではなくて、スコープに基づくめいめいはハンガリー表記とは言わないと思う。
0262C++書き
NGNG0263wParam
NGNGコードの可搬性を損なっている代表例
0264C++書き@否定
NGNGこの2文字の為にC→C++への進化による収穫が
一気に台無しになってしまうような。
0265名無しさん@m_肯定(つーか2)
NGNGしょうがないかな、と思ってます。
他にget〜()@`set〜()にするっていう方法もありますから、そっちを
使う事も多いです。
0266名無しさん@お腹いっぱい。
NGNGOne 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.
0267名無しさん@お腹いっぱい。
NGNG0268名無しさん@お腹いっぱい。
NGNG0269名無しさん@お腹いっぱい。
NGNG0270名無しさん@お腹いっぱい。
NGNG0271>264@`265
NGNG激しく同意します
>他に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
また、大文字小文字はどんな規則でやってますか?
0272名無しさん@お腹いっぱい。
NGNG0273>271
NGNGtemplate <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;}
};
0274273
NGNG添削プリーズ。
0275名無しさん@お腹いっぱい。
NGNG「実用的で無かった」ということだな。
議論せずとも時が結論を出している。
0276名無しさん@お腹いっぱい。
NGNGそれ、Java風味ちゃうと思うで。Sun風味だと、
age = newAge;
とかだと思う。
0277>275
NGNG0278名無しさん@お腹いっぱい。
NGNGage = age
とかでエラーだしてくれるとうれしいな
0279ハンガリアソ・ストンパー
NGNG0280>278
NGNGセミコロンがないからって事?
でも、よくブレークポイント入れるためにこれ書いて、
消し忘れて恥ずかしい思いをするから、警告ぐらいは出して欲しい・・・。
0281280
NGNG0282名無しさん@お腹いっぱい。
NGNG俺は自分の得になることなら、どこの神さまでも「それなりに」信じるけどね。
変な宗教にハマるなよー (笑)
0283名無しさん@そうだ選挙にいこう
NGNG0284名無しさん@中立
NGNG電柱に向かってファイティングポーズとってる酔っ払いと一緒だな。
0285名無しさん@お腹いっぱい。
NGNGはい!オレやりました
0286名無しさん@お腹いっぱい。
NGNGグ行為そのものなわけで、次々に生産される数多くのクラスに的確な名前を考え
るだけでも面倒なところを、それに加えてそれらの型を連想させ、かつ衝突しな
いようなプリフィックスを考えるなんて面倒さが倍になりません? それにそのよ
うに作られる大量のプリフィックスを覚えきれるとは思えないし…。C++ でハン
ガリー記法っていうのは無理があるんじゃないかな。さすがにマイクロソフトも
C# ではやめたみたいだしね。
普通、変数が使われるのはその変数の宣言の近くだから、ハンガリー記法じゃな
くても変数の型は分かりますよ。
0287名無しさん@お腹いっぱい。
NGNG0288名無しさん@お腹いっぱい。
NGNG誰もクラスにつけるとはいっていないとおもうけれど?
0289名無しさん@お腹いっぱい。
NGNGていうか、約1名のハンガリー信者が既に逃げたように見えるのだが。
0290名無しさん@お腹いっぱい。
NGNGなになに……(C#の仕様書確認中)おおう、確かに。
これでハンガリアンの最大の砦が崩壊したか。
0291名無しさん@お腹いっぱい。
NGNGその煽りが電柱に向かってファイティングポーズ。
284はうまいこと言うな。
同じ言葉を繰り返してる酔っ払い相手にする暇人もいないだろうし
そろそろ諦めたら(笑)
0292名無しさん@お腹いっぱい。
NGNG0293>288
NGNG0294>289
NGNGその人にいじめられたのが悔しくて
いつまでも暴れているんダネ(・_・)
0295286
NGNGクラス名に付けるとは言ってないよ。
0296名無しさん@お腹いっぱい。
NGNGクラスのインスタンスに付けるという意味ですか?
0297286
NGNG(そのクラス型の)変数に付けるという意味です。
0298286
NGNG0299名無しさん@お腹いっぱい。
NGNG>次々に生産される数多くのクラスに的確な名前を考え
>るだけでも面倒なところを、それに加えてそれらの型を連想させ、かつ衝突しな
>いようなプリフィックスを考えるなんて
読みようによっては、つーかこれ、クラスの名前にプリフィクスつける、って読むほうが
日本語としては自然かも(藁
0300286
NGNG>日本語としては自然かも(藁
そうかも。ごめん。
0301名無しさん@お腹いっぱい。
NGNG>いつまでも暴れているんダネ(・_・)
うむ、すまんな。
0302名無しさん@お腹いっぱい。
NGNGと思うです。
CStringなんかは、strとか付けますが、C++(MFC)では文字列を表す
方法がいろいろあったりするので、strとかszとかlpszとか
して使い分けてるんだと思います。
0303名無しさん@お腹いっぱい。
NGNG0304286
NGNG>と思うです。
http://msdn.microsoft.com/library/techart/hunganotat.htm
の Naming Rules 3 に、単純な型の場合は短いタグでもいいと書かれているから
int nX@` nY; の代わりに int x@` y; でもいいと思うけど、クラス型は単純な型
じゃないと思うよ。
マイクロソフトも OS/2 をやっていたころは Naming Rules を守っていたんだけ
どね。
0305ぶも〜
NGNG0306名無しさん@お腹いっぱい。
NGNG長い変数名でGo
0307んぽ!
NGNG管理主体が決めればいいだけの話だな。
0308名称未設定
NGNGメンバ変数はmで始める。
ローカル変数はtheで始める。
引数は入力のみはin、出力のみはout、入出ありはioで始める。
0309>308
NGNG0310>308
NGNG外部(グローバル)変数 ::a
メンバ変数 this.a
ローカル変数 a
入力のみ int const* p
出力のみ/入出力あり int* p;
と記述したほうがよいのでは?これならコンパイラもチェックしてくれる。
ただ*pが構造体やクラスの場合、大抵「入出力あり」になると思うが。
[in]や[out]、とりわけ後者があまりはやらないのは上記の理由と思う。
分散処理を記述するならともかく、そうでないばあいは
read(handle@` outBuffer@` len);
といったケースぐらいしか使い道がないのでは。。。
0311308
NGNGAppleが出してるサンプルは、こういうルールが多いです。
ちなみに実践してるのは、グローバル変数を「g」で始めてるぐらいです。
0312名無しさん@お腹いっぱい。
NGNG勧めるわけでもなし、否定するでもなし、問題提起するわけでも無し、
何が言いたいのか分からんよ。
言いたいことが無いなら、収束した煽りスレッドを蒸し返すなよ。
0313名無しさんi486
NGNG0315名無しさん@お腹いっぱい。
NGNGMSだってC#どころかJavaのサンプルでもm_だけで型情報なんてないのもあるよ。
自分たちも恥ずかしくなったんじゃない。
MSがソースオープンしない理由が半がり暗記法(げIME恐るべし)だったりして。
0316名無しさん@お腹いっぱい。
NGNGうむ、よくわかる話だ。
0317名無しさん@お腹いっぱい。
NGNG0318>317
NGNG修飾するのはポインタとスコープのみにしとけ。
0319名無しさん@お腹いっぱい。
NGNGそいつのパフォーマンス測定&テストアプリのコードは
ちゃんとハンガリアンで、dwSizeとかなってぞ。
まだ、現役の模様。
0320名無しさん@お腹いっぱい。
NGNGきっと。
一応、おれもハンガリアン改な俺ルールを使用している(藁
よくある単語(NumberOfとかFlagとかStringとか)、一々単語で書くよりハン
ガリアン「風」接頭字にしたほうがタイピングが減って楽じゃん?
例えば
bool Connection()
{
int serverNum > int nServer; サーバの数
char saverName[] > szServer; サーバの名前
bool saverFlag > bool bServer; サーバの状態フラグ
...
元々のハンガリアン記法とは、目的も用法も違うけどね。
0321名無しさん@お腹いっぱい。
NGNG0322貧乏bccプログラマ
NGNGもっとも最近はあまり使ってませんが。
ローカル変数に限って言えば(特に変数の宣言位置が自由なC++では)、
変数の宣言&使用を1画面に収めりゃそんなに必要ないわけだし。
それに名前が思いつかん&覚えられんほど変数使います?
ただ、グローバル変数やメンバ変数は型情報を見つけにくい&
名前の衝突が起こりやすいのでハンガリアンを適用した方が
ソースの可読性&保守性は上がると思います。
というわけでケースによって使い分けに1票。
ところで文字列とハンドル(WinのH〜型)はポインタか否かどっちにすべき?
わからんのでsz、hを付けてますが…
03232
NGNG今は関数名にpcとかnとかはつけません。
0324名無しさん@お腹いっぱい。
NGNG0325名無しさん@お腹いっぱい。
NGNGまともな意見言ってる人もいるいる。
(自分に都合の悪い意見は目に入らない?)
0326名無しさん@お腹いっぱい。
NGNGどれ?
0327名無しさん@お腹いっぱい。
NGNGというか否定派には荒らしたいだけの奴が多そうだな。
■ このスレッドは過去ログ倉庫に格納されています