●今回は以下のJavaコーディング標準より「3.命名規則」について
http://objectclub.jp/community/codingstandard/CodingStd.pdf
●命名規則とは…
各パッケージ名やクラス名などの名前の付け方
●パッケージ名
「.」で区切られる
●ファイル名
public クラス名のとき、クラス名.javaとなる
●クラス名
先頭大文字・区切りを大文字
例:public AddValueToIt{}
●例外クラス名
最後にException
例:public AddValueException{}
●インターフェイス名
基本はクラスと同じで、先頭大文字・区切りを大文字
→クラスと区別したい場合:先頭に「I」を付ける
例:IAddValue
→クラスにある能力を加える場合:最後に「able」を付ける
例:Serializable
●実装クラス名(interfaceをimplementsしたクラスの名前)
最後に「Impl」を付ける
例:public AddValueImpl{}
●抽象クラス名
先頭に「Abstract」を付ける
例:public AbstractAddValue{}
●定数(static final)
大文字・「_」で区切る
例:ADD_VALUE_POINT
●メソッド名
先頭小文字・区切りを大文字
例:addValue(int it);
●新しいオブジェクトを作る時のメソッド名
型名 create型名();
型名 new型名();
●オブジェクトを変換する時のメソッド名
変換後型名 to変換後クラス名();
●属性(プロパティ)を取得する時のメソッド名
取得する属性名 get取得する属性名();
boolean isEnabled(); //アクションが使用可能かを返す
※それぞれJavaBeansで使用可能
●属性(プロパティ)を設定する時のメソッド名
void set設定する属性名(設定する属性の型名 設定する値);
●booleanを返すメソッド名
①is+形容詞();
例:isEmpty(); //JavaBeansで使用可能
②can+動詞();
例:canGet();
③has+過去分詞();
例:hasChanged
④三単元動詞();
例:contains(Object o); //oがあるか
⑤三単元動詞+名詞();
例:containsKey(Key k); //kがあるか
●boolean変数名
上記の「booleanを返すメソッド名」と「形容詞」
「形容詞の例」:boolean dirty
●ループカウンタの変数名
スコープが狭い順にi,j,k...と続ける
例:for(j=0;j<10;j++){
for(i=0;i<20;i++){
//処理
}
}
●スコープが狭い変数の名前
型名を略す
例:AddValueClass avc = new AddValueClass();
●意味が取れる名前を好んで使用する
例
copy(from,to); //fromをtoにコピー
copy(src,dst); //srcをdstにコピー
●考え直したほうが良い変数名
info
data
temp
str
buf
●ローカル変数の名前(やらないところあり)
_+小文字
例:_variable
●ハンガリー記法(やらないところあり)
先頭に型の頭文字を小文字で入れる
例:String stName = new String();
●private/protected変数
「_」を先頭または後ろに付ける(preffix suffix)
例:_variable
●static private/protected変数
「__」を先頭または後ろにつける(twoPreffix twoSuffix)
●参考サイト
http://homepage1.nifty.com/~takaot/prprpr/varname.html
[22回]
PR