システムハンガリアンってPHPでは有効じゃね?
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/16(月) 13:52:27ID:WqJ82QUZたしかにC++みたいに型が違う値を代入しようとしたら
速攻でエラー吐くコンパイラにかけるんなら意味ないかと思うけど、
PHPみたいに元の型が何であろうが無視して新しい型にしてくれちゃう言語は、
ひるがえって『単なる型名を変数名につける』ってのが有効じゃないかと思うんだ。
PHPにおいてはアプリケーションハンガリアンよりシステムハンガリアンのほうがいい気がしてる。
ハンガリアンに限らず、PHPの柔軟すぎる型変換に適した命名規約を考えてくれ。
0002nobodyさん
2009/03/16(月) 14:25:18ID:???以後こちらへ
さまざまな言語仕様について熱く語る闘技場
http://pc11.2ch.net/test/read.cgi/php/1228709756/
0003nobodyさん
2009/03/17(火) 20:34:26ID:???変数に実際に入れる型がいろいろ変わるからなわけだが。
>>1はバグ回避のために違う型を入れないようにするためと
いっているのだと思うが、間違った型を入れるとか言う以前に
ソフトウェアの性質上、型は変わるものなんだよ。
(変数に最初に想定していた型以外のものを入れることになる)
時代の流れとともに16bit変数は32bit変数に変わるし、
32bitポインタは64bitポインタに変わるし、
オブジェクト指向言語なら、型は継承され新しい型になる。
PHPのような柔軟な言語だからこそ、なおさらハンガリアンは必要ない。
それにハンガリアン(変数の頭に型を入れる)を使うまでもなく
変数名そのものが型をあらわしている。flagならtrue/falseだし、priceなら数値だろう。
0004nobodyさん
2009/03/17(火) 20:44:05ID:8mZIbPB9flagがビットフラグ(整数)だったり
priceが税計算機能つきのItemPriceクラスのオブジェクトだったらどうすんの?
0005nobodyさん
2009/03/17(火) 21:07:10ID:???つまりは、priceがlongからItemPriceに変わるというように
型が変わることがあるってこった。
それは避けられないからハンガリアンはよくない。
0006nobodyさん
2009/03/17(火) 21:09:34ID:???タイプヒンティングも使えるし、型よりも値の範囲を絞って
例外を飛ばせるから全く問題ない。
一度処理に入ったら長い処理が行われるのではなくて
1回毎のシンプルな処理をセッションやクッキー使ってどうにか
継続させるのがWebアプリだから、ユーザー側のデータは
1回毎に改変が無いか毎回チェックする事になるし、型があってもなくても関係ない。
0007nobodyさん
2009/03/17(火) 22:12:50ID:???以後こちらへ
さまざまな言語仕様について熱く語る闘技場
http://pc11.2ch.net/test/read.cgi/php/1228709756/
0008nobodyさん
2009/03/17(火) 22:24:46ID:???0009nobodyさん
2009/03/17(火) 23:10:14ID:???0010nobodyさん
2009/03/18(水) 11:33:29ID:???以後こちらへ
さまざまな言語仕様について熱く語る闘技場
http://pc11.2ch.net/test/read.cgi/php/1228709756/
0011nobodyさん
2009/03/18(水) 23:43:16ID:???■ このスレッドは過去ログ倉庫に格納されています