プロジェクト

全般

プロフィール

Androidプログラミング命名規約

現時点の命名規約

Javaコードに関する命名規約

要素 命名方式 補足
型名 パスカル形式 名詞
パッケージ名 小文字 名詞
メソッド名 キャメル形式 動詞、前置詞句
フィールド名 キャメル形式
ローカル変数名 キャメル形式
定数名 大文字(複数語の接続はアンダースコア) finalは定数とは限らず
enum定数 大文字(複数語の接続はアンダースコア)

頭辞語の大文字・小文字表記

「HTTP」などの大文字を連ねた頭辞語をパスカル形式やキャメル形式に用いる場合、先頭1字を大文字とし残りは小文字とする。
例、sendHttpRequestuserId

Kotlinコードに関する命名規約

  • KotlinコードがコンパイルされJavaクラスファイルになった際のクラスファイルに含まれる命名はJavaコードの規約に揃える。
    例)パッケージ名、型名(クラス、インタフェース、アノテーション、列挙)、メソッド名、フィールド名

XMLファイルに関する命名規約

  • レイアウトXMLファイル名
  • 文字列リソースファイル名

レイアウトのビューのID

レイアウトでビューに割り当てるIDの識別子は、利用するライブラリに応じてプロジェクトで一貫性を持つよう定める。

  • 素のAndroidプログラミングで findViewByIdで参照する場合は、スネークケース形式
  • Kotlin syntheticを用いる場合、Kotlinコード上では変数名となるので、キャメル形式で命名
  • ViewBindingライブラリを使う場合は、スネーク形式で記述、Java/Kotlinコード上ではキャメル形式に変換されて参照
  • DataBindingライブラリを使う場合は、スネーク形式で記述、Java/Kotlinコード上ではキャメル形式に変換されて参照

参考文献

A successful XML naming convention

Android Handbook - Naming

  • レイアウトのビューに付けるID(小文字スネークケース)
    <機能名><ビュー部品名> を基本とする。(例: title_label_textview)
    別法)<WHAT>
    <WHERE>_<DESCRIPTION> の順で記述。WHATは部品クラス名(button)、WHEREは定義場所(レイアウトXMLファイル名の2番目要素)、DESCRIPTIONは部品の説明
    A successful XML naming convention
  • リソースのID(小文字スネークケース)
    Activity固有のリソースであれば、<Activityレイアウトファイル名(.xmlを除く)>_<リソース名> を基本とする。
    共通のリソースであれば、<リソース名> を基本とする。


3年以上前に更新