Java には命名規約(naming convention)があります。 命名規約は2種類に分類されていて、活字的(typographical)と文法的(grammatical)に分けられています。
活字的命名規約はパッケージ、クラス、インタフェース、メソッド、フィールド、型変数を扱っていて、ほとんどの場合、絶対に守るべき規則です。 たとえば「パッケージ名は小文字であるべき」、「クラス名の最初は大文字で始まるべきである」など、命名規約の基本的な項目です。
活字的命名規則の具体例は以下のようになります。
識別子 | 例 |
---|---|
パッケージ | com.google.inject, org.joda.time.format |
クラス、インタフェース | Timer, FutureTask, LinkedHashMap, HttpServlet |
メソッド、フィールド | remove, ensureCapacity, getCrc |
定数フィールド | VALUES, NEGATIVE_INFINITY |
ローカル変数 | i, xref, houseNumber |
型パラメータ | T, E, K, V, X, T1, T2 |
文法的命名規約はより柔軟な規約で、場合によっては守らなくてもよい場合があります。 例えば「インタフェースは able や ible で終わるべき」や「メソッドは動詞/あるいは動詞句で命名される」などです。
文法的命名規約に関連して、特徴的なメソッド命名規則がいくつかあります。
- オブジェクトの型を変換するメソッドは toType となります(例:toString, toArray)
- レシーバーオブジェクトの型と異なる型の View を返すメソッドは asType(例:asList)
- 同じ値をもつ基本データ型を返すメソッドは typeValue です(例:intValue)
- static ファクトリーメソッドは valueOf, of, getInstance, newInstance, getType, newType です
感想
命名規則がすべて列挙されているわけではないし、特におもしろい事も書かれていなかったので、簡単にまとめて終わり。
次回からは「第9章:例外」。