static final の命名規約
Java をやってる人なら、定数フィールドの名前はすべて大文字で命名する、というのは常識的なことだと思う。
Java 言語仕様には以下のように記載されている。
ただ、ここでは final にしか触れていない。
Java Code Conventions には以下のように記載があり:
final にすら触れていない。
static final なフィールドはすべて大文字で命名、とはだれが言い出したのだろうか。
なお、Java 言語仕様内で説明で出てくるコードの断片は上記で言及した命名規則を守っていない。
char に s なんて名前を付けているが、Java 言語仕様で謳っている命名規則では、以下のように s は String ではないのか。
上記のように、実は一次ソースが結構グダグダだった命名規則だが、僕個人の習慣は以下の通り。
- final は camelCase
- private 以外の static final は UPPER_CASE
- private static final は camelCase
一番下の習慣は serialVersionUID がその根拠。
Java 言語仕様があいまいで、いろんな考え方の人がいるので、一例ということで。