少なくともここ StackOverflow では、ハンガリー語表記が悪いと見なされることが最も多いようです(ただし、少数派はまだ支持しています)。
ここ数か月間、私がほとんどのコーディングを行ってきた JavaScript の世界では、本質的に非常によく似た命名規則が採用されているようですが、UpperCamelCase
オブジェクト コンストラクターに名前を付けるという、それに反対する人は見たことがありません。 vslowerCamelCase
他のすべてに名前を付けます。
したがって、違いは表面にあるように見えます。
- ハンガリー語表記ではプレフィックスが使用されますが、JavaScript では大文字と小文字が使用されます。
- ハンガリー語表記は多くのことを区別できますが、JavaScript は「オブジェクト コンストラクタ」と「非オブジェクト コンストラクタ」しか区別できません。
「システム ハンガリー語」は「アプリケーション ハンガリー語」とは異なると言う人もいます。前者はタイプを示し、後者はタイプがカバーしないものを示します。この場合、通常、「システム ハンガリー語」はまだ悪いと見なされますが、「アプリケーション ハンガリー語」は良いと見なされる場合があります。
JavaScript のキャメル ケーシング規則はシステム ハンガリー語に似ているため、その点では何のメリットもありません。
ハンガリー語表記法に反対する人々の主張は、JavaScript オブジェクト コンストラクターにも当てはまるようです。
- とにかくコンパイラは型を知っています。
- これに関しては、IDE の方がはるかに優れています。
- 型が変わると脆すぎる。
コードが乱雑になると、コードが読みにくくなります。
では、より一般的なハンガリー語の表記法では問題がない場所を問題なく使用できるようにする、この JavaScript 規則の違いは何でしょうか?
優れた JavaScript IDE が不足しているのでしょうか? 使用範囲が限られているため、それほど悪くはありませんか? それは、動的言語が実際には型の方法をあまり持っていないためですか? 使いすぎないから問題ないのでは?
(これが SO ではなく、programmers.SE に属している場合は、移行してください。)