07/08/21 13:14:08
ハンガリアン記法ってどうよ (使ってる人・使ってない人)
さぁ意見を
↓
2:デフォルトの名無しさん
07/08/21 13:18:26
結論
URLリンク(local.joelonsoftware.com)
3:デフォルトの名無しさん
07/08/21 13:20:05
まぁ語れよ
4:デフォルトの名無しさん
07/08/21 13:21:41
>>2 を読め。そこに全てが語ってある。
5:デフォルトの名無しさん
07/08/21 13:25:55
これが全て正とも言い切れまい >>4
6:デフォルトの名無しさん
07/08/21 13:40:11
それより語ろうぜポーランド記法を
7:デフォルトの名無しさん
07/08/21 13:41:59
( ^ω^)断る>>6
8:デフォルトの名無しさん
07/08/21 13:54:25
逆ポーランド記法だろ
9:デフォルトの名無しさん
07/08/21 14:07:25
言い切れる。
終了
10:デフォルトの名無しさん
07/08/21 15:42:18
結局のところ(特に日本では)、「MSが牽引しているからイヤイヤ」という感情面から入ってるバカが多いような気がするんだけど。
個人的にはどっちでもいいと思うけど、むやみやたらに毛嫌いする変な人が多い。
もう見ただけで「うわーもうやってらんね。俺様のスーパー技術者人生としてのプライドに関わることだから。絶対こんなのツカワネ」。
ハンガリアン記法はともかく、
youcanfly()やyou_can_fly()より、YouCanFly()の方が読みやすくないかな?
俺が日本人だから? 英語に馴れてる人なら前者の方が読みやすくなるんだろうか(外人は前者の人が多いと思う)。
11:デフォルトの名無しさん
07/08/21 15:46:06
>>9は、反ハンガリアン記法信者か
俺も>>10同様どちらでも構わないと思う。強いて言うならばアプリケーションハンガリアン記法は、採用すべき。
>>2のURLにも書いてあるが・・・
12:デフォルトの名無しさん
07/08/21 16:32:44
>>10
> youcanfly()やyou_can_fly()より、YouCanFly()の方が読みやすくないかな?
> 俺が日本人だから? 英語に馴れてる人なら前者の方が読みやすくなるんだろうか(外人は前者の人が多いと思う)。
言語ごとにマジョリティが異なるな
13:デフォルトの名無しさん
07/08/21 18:41:20
>>10
読みやすい読みやすくないじゃなくてなんであるかによって使い分ける。
例として、
大文字で初めてCamelCase → クラス名
大文字だけを使う → 定数
小文字で初めてcamelCase → メソッド名
全部小文字で単語間に_を入れる → 変数名
みたいな感じ(あくまで一例、他のルールももちろんあり得る)。
ハンガリアンではないけど見た目で何かすぐわかるので、
ハンガリアンの考え方は取り入れてる感じ。
14:デフォルトの名無しさん
07/08/21 21:53:00
>>11
ちがうだろ、>>9のはjoelで全て語り尽くされてるって話だろ?
俺もアプリケーションハンガリアンは推奨派だし使う。
ちなみにシステムハンガリアンは有害。
15:デフォルトの名無しさん
07/08/22 00:03:54
hwndHogeとかhbrHogeとかって名前使うんだ俺。
これがC#でIntPtr型ならきっとアプリケーションハンガリアンだろう。
しかし、C++でHWND型とHBRUSH型を使っていれば、
とってもシステムハンガリアンに思えないか?
そう思いつつ、今日もC++でそんな変数名を付けている。
16:デフォルトの名無しさん
07/08/22 00:13:26
それは別にアプリケーションハンガリアンだと思うぜ。
17:デフォルトの名無しさん
07/08/22 01:31:22
15はアプリケーションハンガリアンの意味を理解しているのか?
18:デフォルトの名無しさん
07/08/22 10:52:47
>>14 システムハンガリアンが全ての場合で有害だとも言い切れなくね?
現在、多くのJavaプログラマがString型オブジェクトならば「str○○○」のように使用しているし、全てが有害って判断は遺憾に思うぞ。
19:デフォルトの名無しさん
07/08/22 10:55:54
> 現在、多くのJavaプログラマがString型オブジェクトならば「str○○○」のように使用しているし、
…そうか?
20:デフォルトの名無しさん
07/08/22 10:57:35
そうじゃない?
21:デフォルトの名無しさん
07/08/22 11:22:55
つかってないだろ
Javaで言ったらboolean型がis○○だったりhas○○だったりするくらいじゃね?
22:デフォルトの名無しさん
07/08/22 12:35:45
文字列に str つけるのはアプリケーションハンガリアンじゃないのか?
23:デフォルトの名無しさん
07/08/22 12:53:20
もやもやした範囲だな<str
24:デフォルトの名無しさん
07/08/22 13:52:01
SQLクエリー文字列
iniファイル文字列
GUI表示文字列
Web表示文字列
これを全部同じstrにくくるとな?
25:デフォルトの名無しさん
07/08/22 14:03:15
>>18
疑問にも思わず使ってる連中がいたとしたら、
そいつら全員莫迦なんだから遺憾も糞も。
26:デフォルトの名無しさん
07/08/22 19:10:47
モンゴリアン記法とか新しい呼び名を付けるべきなんじゃないか
27:デフォルトの名無しさん
07/08/22 21:13:32
馬鹿なスレだな
28:デフォルトの名無しさん
07/08/22 21:28:10
そりゃ part1 の時点でもう
29:デフォルトの名無しさん
07/08/22 21:31:40
>>22
アプリケーションハンガリアンで付けるプレフィクスは型情報じゃない。
30:デフォルトの名無しさん
07/08/22 22:23:04
>>18
javaでそれは見たことないな。VB6.0時代なら腐るほど見たが。
31:デフォルトの名無しさん
07/08/22 23:08:57
俺もJavaで>>18みたいのは見た事無いな。
配列とかリストの変数名を複数形にするのも一種のハンガリアンかな?
32:デフォルトの名無しさん
07/08/22 23:22:00
単複同形の単語とかどうすんの
33:デフォルトの名無しさん
07/08/22 23:26:42
複数形はハンガリアンってわけでもないような
foreach (var user in users) {
……
}
34:デフォルトの名無しさん
07/08/22 23:31:18
foreach (var users in user) {
……
}
胡散クサー
35:デフォルトの名無しさん
07/08/23 01:12:11
聞いてる暇があったらJoelのとこなりWikipediaなり見てくりゃいいのにな。
36:デフォルトの名無しさん
07/08/23 03:21:08
>>18
strなんちゃらは有害
37:デフォルトの名無しさん
07/08/23 07:42:50
おれはstrに錦野関係の情報しか入れないようにしているから、有害といわれると心外だ。
38:デフォルトの名無しさん
07/08/23 15:15:51
そりゃ star だ。
39:デフォルトの名無しさん
07/08/23 15:27:11
ウチの職場では実際スターと発音するのが居る
スター派、ストラ派、エスティーアール派などなど
お前等は何て読むよ?
40:デフォルトの名無しさん
07/08/23 15:36:55
ストリング
41:デフォルトの名無しさん
07/08/23 15:43:41
ストレングス
42:デフォルトの名無しさん
07/08/23 16:09:30
ストリップ
43:デフォルトの名無しさん
07/08/23 16:30:41
ストリングだな
bufとかはバフとか言うけどこれだけは何故か略さない
LPTSTRとかの意味が分からなくて小一時間悩んだせいかもしれん
44:デフォルトの名無しさん
07/08/23 18:29:14
>>36 kwsk
45:デフォルトの名無しさん
07/08/23 23:15:44
このスレのスレタイが目に入る度に脳内フィルターがかかって
ジャンガリアン記法に見えてしまうのですがどうしたらいいでしょうか?
46:デフォルトの名無しさん
07/08/23 23:19:36
>>44
36は、18の言うシステムハンガリアンが全ての場合で
有害だとも言い切れなくないというのに賛成できないだけだと思う。
47:デフォルトの名無しさん
07/08/23 23:32:57
アプリケーション版画利案ならいいと思うが、最近流行のアノテーションを
使って型(type)チェック以上の種別(kind)チェックができるんじゃないかな?
ダメなコードが変に見えるように、ならアプ版画利案で十分だけど、
実際のところコンパイラが自動チェックすればもっといい。
@[kind = my.unsafe]
string read_param(string key);
@[kind = my.safe]
name = read_param("name");
とか書いて、
mylanguagecompiler -Wkind my.code
とかで typecheck ならぬ kindcheck が勝手にかかれば版画利案の醜い字面に
耐えることなく同じ効果を享受できる。
48:デフォルトの名無しさん
07/08/23 23:36:03
強い typedef があればいいんだよな。
49:デフォルトの名無しさん
07/08/24 00:10:55
いや、type一本とかkind一種類じゃなくて、任意の種別情報を付加して
コードチェックの自動化ができればいいってこと。単なる強いtypedefだと
Pascalになってしまう(長さが違うだけで違う型です!とか)
50:デフォルトの名無しさん
07/08/24 06:59:02
Javaとかのオブジェクト指向言語なら、何でもStringにぶち込むのはやめて、
適切にクラスを作ればいいだけのような。
51:デフォルトの名無しさん
07/08/24 09:19:57
クラスの数だけファイルが出来る。
52:デフォルトの名無しさん
07/08/24 10:03:58
Javaとかでも変数がnullを取りうるか、メソッドがnullを返すかを識別するために、
語尾にNをつけるようにしてる
Nがついてるものはnullチェックしないとダメ、とルール化できる
53:デフォルトの名無しさん
07/08/24 10:53:49
JavaにはそのうちNonNullアノテーションとか実装されるんだっけ
54:デフォルトの名無しさん
07/08/24 11:04:15
宣言的例外処理とかアホなことをしてきたJavaなら
NonNullもマジでやっちゃうかもな
煩雑極まりないことになりそうだが
55:デフォルトの名無しさん
07/08/24 17:22:54
Hungarian Notation : Charles Simonyi
URLリンク(msdn.microsoft.com)
56:デフォルトの名無しさん
07/08/27 15:47:57
ぬるぽ
57:デフォルトの名無しさん
07/08/29 06:07:10
次スレタイトルはこれで
土旦土旦 ハンガリアン墓場 旦土旦土
58:デフォルトの名無しさん
07/08/29 18:21:03
このスレが次まで続けばな >>57
59:デフォルトの名無しさん
07/08/31 12:46:25
あげ