ここではJava言語におけるクラス・メソッド等の命名方法についての整理して(しようととして?)います。
注:ここに示す命名の仕方は、ルールではありません。あくまでも、命名時の参考資料という位置づけです。以下のような命名方法を知っていると、オープンソースのプログラムなどを読む際などに、クラスの役割を推測しやすくなると思います。
*Java言語における命名方法
*パッケージ名の場合
- util
-
ユーティリティクラスを持つパッケージに使用。ユーティリティクラスとそのヘルパークラスを含む。
*クラス名・インターフェイス名の場合
*接頭辞
- Abstract~
-
抽象クラスの命名に使用。一般的に使用せず、インターフェイスやクラスと名前が重複する場合に使用することが多い。
- Mock~
-
検査用の模擬(モック)クラスに使用する。
- Test~
-
JUnitのテストケースの実装クラスに使用。junit.framework.TestCaseを基底クラスに持つ。
*接尾辞
- ~Applet
-
アプレットの実装クラスに使用。java.applet.Appletを基底クラスに持つ。
- ~Bean
-
JavaBeanのクラスに使用。
- ~Comparator
-
コンパレータクラス(コレクションの要素を比較するメソッドを実装するクラス)に使用。java.util.Comparatorを実装する。
- ~Constants
-
定数の定義を行うインターフェイスに使用。一般的にメソッドは持たない。
- ~Event
-
Callbackメソッドの引数に使用するクラスに使用。
- ~Exception
-
例外のクラスに使用。java.lang.Exceptionを基底クラスに持つ。
- ~Factory
-
Factoryクラスに使用。インスタンスを作成する為の、new~、create~というメソッドを持つ。
- ~Filter
-
何らかの処理への入力・出力を加工するメソッドを持つインターフェイスやその実装クラスに使用する。
- ~Formatter
-
指定したフォーマットにあわせて出力の生成を行うメソッドを持つクラスに使用。出力内容を引数に持つformatメソッドを持つことが多い。
- ~Home
-
EJBのHomeインターフェイスに使用。
- ~Imp、~Impl
-
抽象クラスに対する実装クラスに使用。一般的に~の部分と同名の抽象クラスが存在する場合に使用する命名方法。
- ~Iterator
-
コレクションクラスの反復子(イテレータ)に使用する。
- ~Listener
-
イベント発生時に呼び出される(callbackされる)メソッドを持つインターフェイスやその実装クラスに使用。一般的に、定義されるCallbackメソッドの引数には「~Event」クラスを持つ。
- ~Logger
-
ログ出力用クラスに使用する。
- ~Plugin
-
何かの機能を拡張するプラグインを定義するインターフェイスやその実装クラスに使用する。
- ~Servlet
-
Javaサーブレットの実装クラスに使用。javax.servlet.GenericServletを基底クラスに持つ。
- ~Tag
-
カスタムタグの実装クラスに使用。javax.servlet.jsp.tagext.Tagを実装する。
- ~Test
-
JUnitのテストケースの実装クラスに使用。junit.framework.TestCaseを基底クラスに持つ。
- ~Utils
-
ユーティリティクラスに使用。一般的に、全メンバがstatic属性で、コンストラクタはprivate。utilパッケージの中にあることが多い。
*メソッド名の場合
*接頭辞
- can~
-
canの後に続く動作が可能かどうかを返却するメソッドに使用。戻り値はboolean。
- create~
-
クラスのインスタンスを作成するメソッドに使用。
- get~
-
getterのアクセサメソッドに使用。
- is~
-
boolean型のgetterのアクセサメソッドに使用。戻り値はboolean。
- set~
-
setterのアクセサメソッドに使用。
- new~
-
クラスのインスタンスを作成するメソッドに使用。