Java
命名規則

Java言語の命名指針

More than 3 years have passed since last update.

Javaプログラムを書く上で守るべき一般的な指針をまとめておきます。


Java言語の命名指針(ルール)

おおまかに以下のルールで命名することができます。


  • すべてのUnicode文字が利用できる


    • 日本語(マルチバイト文字列)なども利用できるが慣例的に以下のみで構成することが多い


      • 英数字

      • アンダースコア( _ )





  • 先頭文字に数字は使えない

  • 文字数制限はない

  • 大文字と小文字は区別される

  • 予約語は使えない




1. クラス名


  • Pascal記法


    • 先頭を大文字

    • それ以外は小文字

    • 言葉の区切りは大文字





PermissionsIntro

AsyncTask

FileCopy

MainActivity


2. メソッド名


  • camelCase記法


    • 先頭を小文字

    • 以降も小文字

    • 言葉の区切りは大文字

    • 予約語ではない英単語と略語を組み合わせることが多い





fileSend()

checkVersion()

addItems()

showActionbar()


2.1 フィールドの値に対する取得と設定メソッド


  • フィールドの値を取得するメソッド: 先頭をget

  • フィールドの値を設定するメソッド: 先頭をset

  • 以降,camelCase記法



getCount()

setDate()

setName()


2.2 boolean変数を返すメソッド


  • メソッド名が命題を表すように命名する

  • is + 形容詞

  • has + 過去分詞

  • can + 動詞



isEmpty()

hasChanged()

canAccess()


3. 定数名


  • すべて大文字

  • 複合文字の場合は区切りをアンダースコア "_" で結合。(スネークケース記法)



LENGTH

MIN_VALUE

DATABASE_PATH


4. 変数名(フィールド名)


  • すべて小文字

  • 複合文字の場合は区切りを大文字する



count

startDate

errMsg


5.識別子の対称性


  • 英単語の対称性を意識して命名する


    • add/remove

    • insert/delete

    • get/set

    • start/stop

    • begin/end

    • send/receive

    • first/last

    • get/release

    • put/get

    • up/down

    • show/hide

    • source/target

    • open/close

    • source/destination

    • lock/unlock

    • old/new

    • next/previous




6.ちょっと気にするとよさそうな点

頭の片隅に置いておくと、良い命名が出来そうなポイントです。


  • 名前を見るとデータの中身が想像できる


    • 良い:thumbsup:userName, title

    • 微妙:thumbsdown:a, b, AClass



  • 長すぎない・短すぎない


    • 良い:thumbsup:keyword

    • 微妙:thumbsdown:kw, keywordForFoodDatabaseSearch



  • ローマ字を使用しない


    • 良い:thumbsup:resultScore, userName

    • 微妙:thumbsdown:kekkaNoSukoa, Namae



  • 決められた記法で統一する


    • 良い:thumbsup:resultValue / lastName / phoneNumber

    • 微妙:thumbsdown:result_value/ LastName / Phone_Number



  • 思いやりのあるコードを書く


    • アスラムカーン(Aslam Khan)氏のエッセイの一部の言葉です




誰かが書いたコードの質は、必ず他の誰かが書くコードの質に影響します。もし私が質の低いコードを書いてしまったとしたらどうでしょうか。その場合は、誰か他の人が非常に質の高いコードを書いていたとしても、私のコードを利用した途端に悪影響を受け、同じレベルにまで質が低下してしまいます。(中略) 大事なのは、コードそのものの質ではなく、他への影響です。他人の存在を意識すれば、他人の書くコードにも当然良い影響を与えることになります。チームの同僚のことを考え、思いやりを持ってコードを書けば、それは同僚たちにとって価値あるコードとなり、いずれ自分にも良い影響となって返ってきます。どんなかたちであれ、そのコードに触れた誰もが、触れる前より良い人間、良いプログラマになれる、そういうコードを書くようにすべきでしょう。

他者への思いやりを意識したコーディング - プログラマが知るべき97のこと



7. その他


参考