web-dev-qa-db-ja.com

Javaでの変数の命名規則?

PHPでは、私たち(少なくとも優れたプログラマー)は常に一般的な変数名を小文字で始めますが、クラス変数/オブジェクトは区別するために大文字で始めます。同様に、一般的なファイル名は小文字で始めますが、クラスを含むファイルは大文字で始めます。

例えば:

<?php
$number=123;
$string="a string";
$colors_array=array('red','blue','red');
$Cat=New Cat();
?>

Javaでも規則は同じですか、つまり、オブジェクトは大文字で始まり、残りは小文字で始まりますか、それとも他の場所で読んだようにすべて小文字で始まりますか?

21
Click Upvote

通常、すべての変数は小文字で始まります。

int count = 32;
double conversionFactor = 1.5d;

すべての場合に静的定数を配置したい人もいます。

public static final double KILOGRAM_TO_POUND = 2.20462262;

頭字語を扱うとき、物事はよりいらいらします、そしてあなたが使うべきかどうかについての本当の標準はありません:

HTMLHandler myHtmlHandler; 

または

HTMLHandler myHTMLHandler.

いずれにしても、クラス名(Object、String、HTMLHandler)は常に大文字で始まりますが、個々のオブジェクト変数は小文字で始まることに注意してください。

27

名前は Java Code Conventions で確認できます。

簡単な要約:

  • クラスの場合は、UpperCamelCaseを使用します。
  • クラスメンバーとローカル変数の場合はlowerCamelCaseを使用します
  • パッケージの場合、逆URIを使用します。 org.acme.project.subsystem
  • 定数の場合は、ALL_CAPSを使用します。
59
jamesh
  • variablesAndMethodsLikeThis
  • クラス
  • CONSTANTS_LIKE_THIS
8

規約では、クラス名は大文字で始まります。変数名はcamelCaseです。変数がオブジェクトを参照していても、小文字で始まります。

この ページ が役立つはずです。

4

インスタンスメソッドにcamelCaseを使用し、静的メソッドにPascalCaseを使用することについてどう思いますか?どのメソッドが静的であるかを確認する際に問題が発生しないため、非常に役立つと思います。それは私の提案です

1
shx

規約は、実際にコーディングする場所によって異なります。

一般に、私が見たものから、クラスはCamelCased(最初は大文字)、メソッドは小文字で始まり、至る所で見た変数(いくつかのCamelCased、最初の文字が小文字のいくつかのcamelCase)(編集:前述のとおり)上記、これは標準です)、ハンガリー語の表記でさえいくつかあります)。それはあなたのスタイルとあなたが取り組んでいるプロジェクトが採用しているスタイルに依存します。

0
EdgarVerona

一部の人々(私ではありません)は、インスタンス変数の前に「this」を付けることで、メソッド変数とインスタンス変数を区別したいと考えています。これにより、同じ名前のインスタンス変数にパラメーターを割り当てるときに発生する問題も修正されます。

public ConstructorMethod(MyVar variable) {
    this.variable=variable;
}

しかし、そのパターンを常に使用する必要があると感じる人もいますが、私はそれに夢中ではありません。メソッドとクラスを小さくしておくのはやり過ぎだと思います。

また、一部の人々はパラメータの命名パターンを使用します。これは(再度)コンストラクタからインスタンス変数に割り当てるときに便利です。

public ConstructorMethod(MyVar pVariable) {
    variable=pVariable;
}

通常、パターンはpVariableまたは_variable。これよりも読みやすいので、時々これを使用しますが、Javadocの読みやすさが低下するという欠点があります。

いずれにせよ、これらのパターンを常に使用するという考えはあまり好きではありません。それらは知っておくと役に立ちますが、コード全体でそれらを区別するのに助けが必要な場合は、Eclipseに異なる色で表示するように指示してください。

0
Bill K