Help us understand the problem. What is going on with this article?

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. その他

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした