【Java】パッケージ名の命名規則について

 Javaのパッケージ名の命名規則には、読みやすさ・衝突回避・管理しやすさを目的とした明確なルールと慣習があります。以下に、公式なルールと実用的なベストプラクティスをまとめます。

✅ 基本ルール(Javaの公式ガイドラインより)

1. すべて小文字

  • パッケージ名は すべて小文字 を使用します。

java
package com.example.myapp;

理由:クラス名との区別を明確にするため。

2. ドメイン逆順をプレフィックスに使う

  • 自社のドメイン名を逆順にして先頭に付けることで、他社と名前が衝突しないようにします。

例:

所有ドメイン 推奨パッケージ名例
example.com com.example.myapp.utils
openai.com com.openai.gpt.chat

3. 英語を使う(推奨)

  • 国際的な可読性のため、パッケージ名は英語で記述するのが一般的。

4. 意味のある階層にする

  • 大きなプロジェクトでは用途別にサブパッケージを分けて整理します。

java
com.example.myapp.controller
com.example.myapp.model
com.example.myapp.service
com.example.myapp.util

5. 予約語・記号・大文字は使わない

  • package my-App;(ハイフンNG)

  • package MyApp;(大文字NG)

  • package int;(予約語NG)


✅ 命名例まとめ

パッケージ構成 用途
com.companyname.app メインアプリ
com.companyname.app.model データ構造、DTOなど
com.companyname.app.service ビジネスロジック
com.companyname.app.util 汎用クラス、ユーティリティ

✅ 補足:実際の記述例

java
package com.example.weather.service;

public class WeatherService {
    // ...
}

✅ まとめ(命名のポイント)

規則・慣習 理由
小文字のみ クラス名との混同防止
ドメイン名を逆順に使用 名前衝突の回避
英語を使う 国際標準での可読性
意味のある階層構成 保守性・可読性の向上
管理人
Javaの記事の一覧はJava にまとめてあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP