LoginSignup
7
6

More than 5 years have passed since last update.

サンプルコードのpackage名には例示用ドメインを使おう

Posted at

概要

Qiitなどに掲載するサンプルコードのpackage名はなにがよいかという小ネタ。
例示用ドメインを使うのが良さそうです。

Javaのpackage命名方法

すっかりおなじみなので、わざわざ言うまでもないかも知れませんが一応。
Javaのpackage名は、FQCNの重複を避けるためドメイン名を逆順にしたものを先頭に付与するのが慣例となっています。
The Java Language Specificationでは、「Example 6.1-1. Unique Package Names」として以下が挙げられています1

package名の例
com.nighthacks.java.jag.scrabble
org.openjdk.tools.compiler
net.jcip.annotations
edu.cmu.cs.bovik.cheese
gov.whitehouse.socks.mousefinder

サンプルコードのpackage名

ドメイン名ベースの命名はちょっと大げさ

とはいえ、サンプルコードに上記のルールを適用するのは、ちょっと大げさな気がします。
サンプルコードのpackage名の要件について簡単に纏めてみました。

  • FQCNの重複を気にする必要が無い
  • サンプルなので簡潔に書きたい
  • サンプルであることを明確にしたい
  • そもそも、自分専用のドメイン名を持っていない
  • かといって、余所のドメイン名を勝手に使うのも気が引ける

予約済みドメインを流用した命名ですっきり

そこで、予約済みドメインを流用することを思いつきました。
予約済みドメインはIANAで管理されており2、用途に沿ってドキュメントなどで自由に使うことができます。
予約済みのトップレベルドメイン(TLD)は4つあります。

予約済みTLD 用途
.test テスト用のドメイン
.example 例示用のドメイン
.localhost ループバックアドレス用のドメイン
.invalid 無効であることを示すためのドメイン

exampleやinvalidは、サンプルコードのpackage名に使うのにも丁度よいのではないでしょうか。

package example

public class SampleClass {
  // ...
}

おわりに

これまでは、com.example3をpackage名に使ってましたが、これからはexampleでいこうと思います。4文字も減らせます。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6