アカウント名:
パスワード:
>X座標を保持する変数にはpx、重さを保持する変数にはkg
用にそれぞれ別の型を宣言してやればいいんですよ。
>そうすれば、pxA + kgX という式は
コンパイラがワーニングかエラー吐いてくれますよ。こんな機械に判定させておけば良い物に人間が煩わされるなんて馬鹿馬鹿しい。
普通ここまでやらないのはパフォーマンスがどうとか使い勝手がどうとかいう話が絡んでくるからで、アプリケーションハンガリアンなんてもんは所詮妥協の産物ってこった。
プログラミングの経験の少ない人は型でなんでも出来ると思いがちなんだけど、例えばpxA + pxB という式は要注意だが、(pxA + pxB) / 2 という式は平均を取っているのでたぶん問題なし、ということを読み取りたいわけ。
ハンガリアンの目的はコードの可読性を高めることにあるので、型とは目的からして違うんだよ。
>指摘してくだちいいい
釣りか自覚してないのか迷うなあ。
>pxA + kgX
は型が違うので足してはいけないって話が
>pxA + pxB
いつの間にやら同じ型になって全然違う話に。「同じ型だから安全ぽいよ!」と言いたいならそれこそ型でやるべきだし、そもそも変な命名規則を使わずとも変数の名前からそれが読み取れないような名前をつけてる時点で落第なんですよ。
正論をぶつけられると反論できずに相手を学生呼ばわりして逆切れするのは半端な能力しか無い人間によくある悪い癖ですね。
アホな仕事相手を巧く処理できず、さりとて仕事相手を選ぶ事も出来ない境遇には同情します。
日本語でおk
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
ハンガリアン記法とか (スコア:0)
Re: (スコア:3, 参考になる)
char szHogeHoge[64]のようなシステムハンガリアンを使うことについては、僕も大嫌いですが。
Re: (スコア:0, すばらしい洞察)
同意しない。だって、そういう目的なら、それ用の型を準備して使えばいいわけで。
暗黙に決めた名前ルールでどうにかしようなんて馬鹿げてて、型でシステマティックに解決するべきです。Javaのような部類の言語(静的型付言語)ならそれができるよね。
けっきょく、ハンガリアン記法なんてものは、静的に型を明示できない言語で型名を変数名に入れているだけだよね。しかもアドホックに。
Re: (スコア:0)
例えば、X座標を保持する変数にはpx、重さを保持する変数にはkgというプリフィックスを付けましょうということです。
そうすれば、pxA + kgX という式は誤りである可能性が非常に高いということが字面だけでわかります。
これは型でどうこうできるものではないのは理解いただけると思います。
(むろん言語のほうでどうにかすべきで、curlではなんとかしていますが)
いや、存じてるでしょ (スコア:0)
>X座標を保持する変数にはpx、重さを保持する変数にはkg
用にそれぞれ別の型を宣言してやればいいんですよ。
>そうすれば、pxA + kgX という式は
コンパイラがワーニングかエラー吐いてくれますよ。こんな機械に判定させておけば良い物に人間が煩わされるなんて馬鹿馬鹿しい。
普通ここまでやらないのはパフォーマンスがどうとか使い勝手がどうとかいう話が絡んでくるからで、アプリケーションハンガリアンなんてもんは所詮妥協の産物ってこった。
Re: (スコア:2, すばらしい洞察)
プログラミングの経験の少ない人は型でなんでも出来ると思いがちなんだけど、例えば
pxA + pxB という式は要注意だが、
(pxA + pxB) / 2 という式は平均を取っているのでたぶん問題なし、
ということを読み取りたいわけ。
ハンガリアンの目的はコードの可読性を高めることにあるので、型とは目的からして違うんだよ。
Re: (スコア:0)
Re: (スコア:1, 興味深い)
何にせよ後から書いたほうがより正確ですので、そちらを参照してください。
Re: (スコア:0)
>指摘してくだちいいい
釣りか自覚してないのか迷うなあ。
>pxA + kgX
は型が違うので足してはいけないって話が
>pxA + pxB
いつの間にやら同じ型になって全然違う話に。「同じ型だから安全ぽいよ!」と言いたいならそれこそ型でやるべきだし、そもそも変な命名規則を使わずとも変数の名前からそれが読み取れないような名前をつけてる時点で落第なんですよ。
Re: (スコア:0)
つまり
(pxA + pxB) / 2 という式なら、これは二つの値の平均を取っているわけだから、この部分だけ見てもおそらく正しいことが読み取れる。
これが、単に
pxA + pxB という式だった場合には、バグの可能性があるので要注意、この周りのコードにも気をつけましょうということが分かる。
しかし必ずしも間違ったプログラム片とは限らないので、コンパイラに排除させるわけにはいかない。
> そもそも変な命名規則を使わずとも変数の名前からそれが読み取れないような名前をつけてる時点で落第なんですよ。
学生さんかな?本当にチームプログラミングをやったことがないんだろうね。
俺たちは仕事でプログラムを書いてるわけ。意思疎通がうまく行かなかった場合に、俺は悪くない、悪いのは君だ、君は落第!じゃすまないのね。
Re: (スコア:0)
正論をぶつけられると反論できずに相手を学生呼ばわりして逆切れするのは半端な能力しか無い人間によくある悪い癖ですね。
アホな仕事相手を巧く処理できず、さりとて仕事相手を選ぶ事も出来ない境遇には同情します。
Re: (スコア:0)
(職業プログラマの経験がないことを否定もしてませんし、嘘をつかないだけの倫理性があるので安心しました)
「型は次元や有向ベクトルと位置ベクトルの区別を扱えない」という私の説明に、あなたは何の反論もできていません。
(私が例を挙げて説明していますので、あなたも俺様の主張だけでなく、例を挙げて説明する必要があります)
あなたがせいぜいしていることは「ハンガリアン記法はごちゃごちゃしている(=ので馬鹿が使う記法だ)」という主張だけです。
ハンガリアン記法が冗長であることは否定しえない事実です。が、あなたの主張する「識別子は意味に応じた名前」もまぎれもなく冗長なものです。
これは「識別子は他の名前に変更してもプログラムの意味は変わらない」という事実に基づくものですから、否定のしようはありません。重要なことは「冗長さは人間にとって役に立つ」ということです。
Re:いや、存じてるでしょ (スコア:0)
日本語でおk
Re: (スコア:0)