|
||||||||||||||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||||||||||||||
| 引数 | ||||||||||||||||||||||||||
|
引数の名前はパラメータなので、インスタンス変数との区別を明確にすべきです。そのためにはあらかじめルールを策定しておくとよいでしょう。 |
||||||||||||||||||||||||||
| メソッドのパラメータ名とインスタンス変数名を一緒にしない(N_PRM001) | ||||||||||||||||||||||||||
|
メソッドのパラメータには、クラスのメンバー名と競合する名前をつけないで下さい。同じ名前をつけると、メソッド内でその名前を見つけたときに、それがパラメータ名なのかインスタンス変数名なのかがわからなくなってしまいます。 しかし、どうしても同じ名前を使いたい場合もあります。メソッドのパラメータ名とインスタンス変数名に同じ名前が使用された場合、Javaではメソッドのパラメータ名として解釈されますが、初心者にはわかりづらく、勘違いからバグを作り込むことがよくあります。 あらかじめ表2のようなルールを明確に決めておくことで、事故を未然に防ぐことができます。
表2:メソッド名のネーミング規則の一例 |
||||||||||||||||||||||||||
| 変数全般 | ||||||||||||||||||||||||||
|
その変数が何を意味して、どんな値が格納されるかが予測できる名前をつける必要があります。このことよって勘違いによるミスを軽減できます。 |
||||||||||||||||||||||||||
| boolean変数はtrue/falseの状態がわかるようにする(N_VAL001) | ||||||||||||||||||||||||||
|
この規約の意図は、メソッドの説明で紹介した規約「boolean変数を返すメソッド名はtrue/falseの状態がわかるようにする」と同じです。 例えば、「在庫の有無」を保持する変数は以下のように宣言すれば、表3の結果になることが明らかにわかります。 |
||||||||||||||||||||||||||
private boolean hasStock;
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
表3:宣言の結果予測 |
||||||||||||||||||||||||||
| 更に条件分岐では以下のように、読んで意味がすぐにわかるコードを書くことができます。 |
||||||||||||||||||||||||||
if (hasStock) ・・・・・
|
||||||||||||||||||||||||||
| なお、"hasNoStock"のような否定形の変数名は意味がわかったとしても混乱を招くため、避けたほうが無難です。 |
||||||||||||||||||||||||||
if (! hasNoStock) ……
|
||||||||||||||||||||||||||
| これより、boolean変数はtrue/falseの状態がわかる「肯定形」の名前をつけることをお奨めします。 |
||||||||||||||||||||||||||
| 定数はすべてstatic finalとし、すべて大文字、区切りは"_"(N_VAL002) | ||||||||||||||||||||||||||
|
"static final"とするのは、宣言部を見てすぐに「定数」と判断できるためです。うっかり定数であることを忘れて別の値を代入することを避ける効果もあります。 定数に"大文字"を使うのは一般的なルールです。すべてに大文字を使うと必然的に区切り文字が必要となるため、"_"を使って区切ります。 すべて大文字にすることにより、小文字ではじまる一般の変数とは明確に区別できます。また、単語の先頭のみを大文字としているクラス名との区別も容易です。 |
||||||||||||||||||||||||||
| 変数名には役割の反映を(N_VAL003) | ||||||||||||||||||||||||||
|
変数名もパッケージ名やメソッド名と同様に、役割のわかる名前をつけるべきです。 "a0001"のようなコード番号や"account → acc"、"number → num"のような省略形は避け、具体的でわかりやすいネーミングを心掛けて下さい。 特定のメソッド内でのみ使われるワーク変数についても同様です。一時的なものだからと、"str1"、"int1"のように型名の省略形を用いた変数名をつけていないでしょうか。このような変数名は、変数の役割がわからなくなるだけでなく、同じ変数名をもう1度宣言してしまう危険性があります。 「意味のある名前を使うこと」 このネーミング規約の基本ルールを常に意識して下さい。ただし、変数がごく狭いスコープでしか使われない場合は例外です。次の規約でそれを説明します。 |
||||||||||||||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||

