アンダースコアを使用する名前の標準は、すべての単語が小文字で記述され、アンダースコア(_)で区切られることです。 通常、この標準は関数と変数の名前に使用され、クラス、構造、インターフェイスの名前にはPascal標準が使用されます(翻訳者のメモ:何らかの理由で、この記事では何も言われていませんが、PascalスタイルのWikipediaで見つけたように、これはUpperCamelCaseです。単語は大文字の証明で始まります)。 アンダースコアはもともとCプログラマーによって使用され、その後C ++開発者によって使用されてSTLライブラリー、そしてBoostでキーワードに名前を付けました。このため、この標準はC ++プログラマーの間で非常に人気がありますが、支配的にはなりませんでした。 また、この標準は標準のPHP関数の名前で使用され、PHPプログラマーの間で非常に人気があります。 Rubyはアンダースコアを使用するとも言われています。
一方、キャメル表記はJava言語の標準であり、妹のJavaScriptです。ただし、他の場所でも見つけることができます。 この標準によれば、名前のすべての単語は、最初の文字を除く大文字で始まります。 この場合、もちろん、アンダースコアのような区切り文字は使用されません。 通常、この標準は関数名と変数名に適用され、Pascal標準はクラス名(構造、インターフェイス)で使用されます。 C#camelCaseは部分的に使用されます:そのスコープは関数パラメーター名とローカル変数に制限されます。
これら2つの標準には、それぞれ独自の長所と短所があります。 主なものをリストしましょう:
- アンダースコアの方が読みやすい:標準とアンダースコアおよび標準を比較する
- ただし、キャメルケースを使用すると、次のように行を読みやすくなります。
my_first_var = my_second_var-my_third_var
そして
myFirstVar = mySecondVar-myThirdVar
明らかに、ラクダの場合の方が読みやすくなっています。下線とマイナス演算子の場合、一見すると式を1つの変数と見なすことができますが、構文の強調表示によりこの問題を解決できます。 - キャメルケースは英語、ロシア語、その他多くの言語の反対です:通常の言語では、文は大文字で始まり、他のすべての単語は小文字で書かれます。ラクダの場合は、すべてが逆になります。 これは本当の脳の爆発です。
- 下線は入力しにくいです。 インテリセンスでも、多くの場合、アンダースコアを入力する必要があります。
- キャメルケースは一貫性がありません。定数(完全に大文字で記述されている)を使用する場合、アンダースコアを使用する必要があるためです。 一方、アンダースコアをクラス(構造体、インターフェイス)の名前の区切り文字として使用する場合は、アンダースコアを使用した命名基準を完成させることができます。
翻訳者から:記事をできるだけオリジナルに近いものに翻訳しようとしました。
私は自分のプロジェクトで、キャメルケースを使用することを好みます。最初の単語として短縮変数タイプ(bProductActive、iProductsCount、sUserName)のみを使用します。これにより、「頭脳爆発」の問題はいくらか解決されます。
さらに、ラクダ表記を使用する場合の略語のトピックについて同僚と多くの論争がありました:より正確にGenerateHTMLFromTextまたはGenerateHtmlFromTextを書く方法、その結果、私たちは2番目のオプションに落ち着きましたが、未解決の問題の感覚はまだ少し見えます。
JavaScriptがJavaの妹であるという事実に関しては、著者は少し追いついています。結局のところ、これらは完全に異なる言語であり、名前とコードの設計標準が共通しているだけです。