2009-07-24 10 views
36

私はしばしば略語は

XmlReader 

代わりの

XMLReader 

私の直感では、完全に大文字の頭字語でありのようなJavaクラス名を参照してくださいが、どうやら多くの人が違ったと思います。多分多くのコードジェネレータが頭字語に問題があるからです...

私は世論を聞きたいと思います。 頭字語を含むクラス名をどのように大文字にしますか?

+0

[Camel case names:How strict?](http://stackoverflow.com/questions/486870/camel-case-names-how-strict) –

答えて

49

Javaや.NETのようなラクダの大文字小文字の区別を使用します。コードジェネレータの理由ではなく、読みやすくするためです。 XMLをHTMLに変換するクラスなど、2つの略語を1つの名前で組み合わせた場合を考えてみましょう。

XMLHTMLConverter 

または

XmlHtmlConverter 

あなたはどちらが好きですか?

+11

これはEffective Javaでも推奨されるアプローチです。 –

+8

さて、ブロッホを立ち上げて、それをクリンチします。 – Stroboskop

+2

XML2HTMLConverterはなぜですか?!?!?!?!?!? –

3

XMLReaderは読みにくいことがわかります。理由は、あなたが簡単に言葉が分かれているかどうかを知ることができないからです。私は、小文字の頭字語を受け入れるべきだと考えています。あなたは、クラス定義のために大文字を使用することができますが、どのようなインスタンス変数についての可能性があります

XmlReader xmlReader; 

ここでは、とにかく下ケースを使用する必要があります。私は、次のルールを使用頭字語については

+7

+1 'XMLReader xMLReader = new XMLReader(" wtf !? ");' –

+1

これはXMLReader xmlReader = new XMLReader();となります。XMLは最初の単語としてカウントされます。 – NobleUplift

3

:頭字語は、長さが2である場合

  • は、大文字で頭文字を置きます。

    For Ex : UIRule 
    
  • 頭字語は、より多くの長さであるならば、私は頭字語

    For Ex : SmsValidation, XmlReader 
    
15

二つの理由パスカルケーシングを使用します。

  1. 頭字語がどこで終わるかを区別することは容易です。例えば、XmlHtmlConverterのように、頭文字の終わりと終わりの識別子の区別が容易になります。今やXMLとHTMLはそれほど良い例ではありません。誰もがXMLが何で、HTMLが何であるかを知っているからです。しかし時には明白でない頭字語が見られることがあり、それが重要になります。
  2. Eclipseは単語と頭文字でスマートです。 XmlHtmlConverterの場合は、Open TypeダイアログにXHCと入力すると検索できます。 XMLHTMLConverterの場合、イニシャルはXMLHTMLCとなり、当然少し長くなります。
+1

+1は主にEclipseのヒント(イニシャルを使用する場合)です。私は自動補完のためにそれを使用します:XHC 。 –

0

私はあなたがそれらを読まれることを期待するとして、一般的には、クラス名が書き込まれるべき、と考えています。例えば、クラス名を声を上げて喋るときは、 "X-M-L reader"と言うので、クラス "XMLReader"と名付けます。しかし、一般的に "REST"は "R-E-S-T"と発音されるのではなく、 "rest"なので、仮想の "REST service"クラスの "RestService"という名前を付けます。 "SQL"のようなものについては、 "S-Q-L"とか "後編"と言う人がいるので、いずれにしても行けます。しかし、それは本当に個人の好みになってしまいます。