camelCase vs under_score

現在、変数の命名には多くの標準がありますが、そのうち2つはプログラマーの間で最も人気があります。これはキャメルケース(「キャメル」表記)とアンダースコア(セパレータとしてアンダースコアを使用した変数の命名)です。 他の一般的な標準があると主張する人もいるかもしれませんが、この記事の枠組みの中で、これら2つを比較し、プログラマーが準拠している標準を見つけます。 もちろん、一部のプログラマーは、使用する言語またはフレームワークのコーディング標準に縛られていますが、独立した比較を試みます。





アンダースコアを使用する名前の標準は、すべての単語が小文字で記述され、アンダースコア(_)で区切られることです。 通常、この標準は関数と変数の名前に使用され、クラス、構造、インターフェイスの名前にはPascal標準が使用されます(翻訳者のメモ:何らかの理由で、この記事では何も言われていませんが、PascalスタイルのWikipediaで見つけたように、これはUpperCamelCaseです。単語は大文字の証明で始まります)。 アンダースコアはもともとCプログラマーによって使用され、その後C ++開発者によって使用されてSTLライブラリー、そしてBoostでキーワードに名前を付けました。このため、この標準はC ++プログラマーの間で非常に人気がありますが、支配的にはなりませんでした。 また、この標準は標準のPHP関数の名前で使用され、PHPプログラマーの間で非常に人気があります。 Rubyはアンダースコアを使用するとも言われています。



一方、キャメル表記はJava言語の標準であり、妹のJavaScriptです。ただし、他の場所でも見つけることができます。 この標準によれば、名前のすべての単語は、最初の文字を除く大文字で始まります。 この場合、もちろん、アンダースコアのような区切り文字は使用されません。 通常、この標準は関数名と変数名に適用され、Pascal標準はクラス名(構造、インターフェイス)で使用されます。 C#camelCaseは部分的に使用されます:そのスコープは関数パラメーター名とローカル変数に制限されます。



これら2つの標準には、それぞれ独自の長所と短所があります。 主なものをリストしましょう:








翻訳者から:記事をできるだけオリジナルに近いものに翻訳しようとしました。

私は自分のプロジェクトで、キャメルケースを使用することを好みます。最初の単語として短縮変数タイプ(bProductActive、iProductsCount、sUserName)のみを使用します。これにより、「頭脳爆発」の問題はいくらか解決されます。



さらに、ラクダ表記を使用する場合の略語のトピックについて同僚と多くの論争がありました:より正確にGenerateHTMLFromTextまたはGenerateHtmlFromTextを書く方法、その結果、私たちは2番目のオプションに落ち着きましたが、未解決の問題の感覚はまだ少し見えます。



JavaScriptがJavaの妹であるという事実に関しては、著者は少し追いついています。結局のところ、これらは完全に異なる言語であり、名前とコードの設計標準が共通しているだけです。



All Articles