技術コラム

ネーミング

パッケージ名

パッケージ名は"."で区切った文字列で定義し、基本的には英小文字を使用する。

パッケージの機能が判断できる名前を使用し、単語の短縮形は極力避ける。

jp.co.domainname.projectname.framework

クラス名

クラス名は先頭文字を大文字にする。複数の単語を組み合わせて構成する場合は、各単語の先頭を大文字にする。クラス名には意味のある文字列を使用する。

public class Sample {
}

public class LocalFormatString {
}

例外クラス名

例外クラス名はクラス名の最後に"Exception"をつける。

public class SampleException extends Exception {
}

インタフェース名

インタフェース名はクラス名の規約に準ずる。なお、クラス名と区別する必要がある場合は明示的に先頭に"I"をつける。

public class MemoryControl implements DeviceControl {
}

public class Sample implements ISample {
}

抽象クラス名

抽象クラス名はクラス名の規約に準ずる。なお、適当な名前がない場合は明示的に"Abstract"から始まり、サブクラス名を連想させるクラス名をつける。

abstract class AbstractWindowsDraw {
}

実装クラス名

実装クラス名はクラス名の規約に準ずる。なお、インタフェースと区別する必要がある場合は明示的にクラス名の最後に"Impl"をつける。

public class SampleImpl {
}

メソッド名

メソッド名は小文字を基本とする。複数の単語を組み合わせて構成する場合は、各単語の先頭を大文字にする。メソッド名には意味のある文字列を使用する。

public void sampleMethod() {
}

ファクトリメソッド名

ファクトリメソッド(オブジェクトをnewするメソッド)名はメソッド名の先頭に"create"をつけ、その後ろにメソッドで生成するオブジェクト名を続ける。

public Sample createSample() {
}

コンバータメソッド名

コンバータメソッド(オブジェクトを別のオブジェクトへ変換するメソッド)名はメソッド名の先頭に"to"をつけ、その後ろにメソッドで変換するオブェクト名を続ける。

public LocalFormatString toLocalFormatString() {
}

属性取得メソッド名

属性取得メソッド(ゲッターメソッド)名はメソッド名の先頭に"get"をつけ、その後ろにメソッドで取得する属性名(プロパティ)を続ける。

private String emploeeName;

public String getEmploeeName() {
    return emploeeName;
}

属性設定メソッド名

属性設定メソッド(セッターメソッド)名はメソッド名の先頭に"set"をつけ、その後ろにメソッドで設定する属性名(プロパティ)を続ける。

private String emploeeName;

public void setEmploeeName(String name) {
    emploeeName = name;
}

boolean変数を返却するメソッド名

boolean変数を返却するメソッド名は戻り値の状態が判断できる名前をつける。メソッド名の先頭に"is"、"can"、"has"等をつけ、その後ろに形容詞、動詞、名詞を続ける。

public boolean isEmpty() {
}

public boolean canDelete() {
}

public boolean hasValue() {
}

変数名

変数名は小文字を基本とする。複数の単語を組み合わせて構成する場合は、各単語の先頭を大文字にする。(メソッド名と同一規約)

boolean変数の場合はその変数の状態が判断できる名前をつける。変数名の先頭に"is"、"can"、"has"等をつけ、その後ろに形容詞、動詞、名詞を続ける。

private String userName;
private boolean isEmpty;
private boolean canDelete;
private boolean hasValue;

定数名

定数名はすべて大文字とする。複数の単語を組み合わせて構成する場合は、各単語の間を"_"(アンダースコア)で区切る。

public static final String TABLE_NAME = "CampanyInfo";
public static final int MAX_VALUE = 100;

ループカウンタ

スコープが狭いループやイテレータでは、そのループカウンタとして"i"、"j"、"k"...の文字をアルファベット順で使用する。(通常処理やスコープの広いループでは使用しない)

for (int i = 0; i < ROW_MAX; i++) {
    for (int j = 0; j < COLUMN_MAX; j++) {
        for (int k = 0; k < FIELD_SIZE; k++) {
            ・・・・・・・
        }
    }
}

 

△Vol.1 コーディングルールへ戻る

2009年6月17日 18:15