Developer's Note@Wiki
命名規約
最終更新:
匿名ユーザー
-
view
命名規約
基本
クラス名,メソッド名,インスタンス変数名,クラス変数名,ローカル変数は省略しない(名前を見て用途がわかる名前が適切).
■理由
余分なコメントを書かなくて良くなるため.
■理由
余分なコメントを書かなくて良くなるため.
■例外
スコープが狭いローカル変数で省略してもコード解読に影響しない場合は省略可とする.(for文のカウンタ変数など)
スコープが狭いローカル変数で省略してもコード解読に影響しない場合は省略可とする.(for文のカウンタ変数など)
英語の対称性に気をつける.
| insert | delete |
| start | stop |
| up | down |
| show | hidden |
| open | close |
| send | receive |
| first | last |
| old | new |
| next | previous |
| begin | end |
パッケージ名
ドメインを逆転させた名前
■例
jp.co.xxx
■例
jp.co.xxx
クラス名
通常クラス名は名詞を使用する.
| インターフェイス名 | Interface○○○またはI○○○ |
| 能力付加型インターフェイス名 | ○○○able |
| 抽象クラス | Abstract○○○ |
| 例外クラス | ○○○Exception |
| テストクラス | ○○○TestまたはTest○○○ |
| Commandクラス | ○○○Command |
| DTO(Data Transfer Object)クラス | ○○○Dto |
| DAO(Data Access Object)クラス | ○○○Dao |
メソッド名
メソッド名は名前だけで推測できる名前が望ましい.
メソッド名の長さは問題ではなく,『メソッド名とメソッド本体の間の意味的な距離』がもっと重要である.
メソッド名の長さは問題ではなく,『メソッド名とメソッド本体の間の意味的な距離』がもっと重要である.
| ファクトリメソッド(オブジェクトを生成する) | create○○() |
| コンバートメソッド(別オブジェクトに変換する) | to○○() |
boolean変数を返すメソッドは,戻り値の「true/flase」がその状態を表す動詞を採用する.
| is○○() | |
| can○○() | |
| has○○() | |
| exists○○() |