Eclipse プラットフォーム
命名規則

Last revised June 24, 2002 - version for Eclipse project R2.0

Eclipse プラットフォームの命名規則とガイドライン

Java パッケージ

Eclipse プラットフォームは、Java パッケージの集合から構成されます。 パッケージのネームスペースは、 Sun のパッケージ名ガイドラインに基づき 管理されます。 サブパッケージは、パッケージ・サブツリーの所有者の承認を得ずに作成することはできません。 Eclipse プラットフォームのパッケージは、すべて org.eclipse のサブパッケージとなります。 org.eclipse の次の最初のパッケージ名は、メジャー ・パッケージ名と呼ばれます。 Eclipse 2.0 リリースでは、以下の org.eclipse のメジャー・パッケージが割り当てられています。
org.eclipse.ant[.*] - Ant サポート
org.eclipse.compare[.*] - 比較のサポート
org.eclipse.core[.*] - プラットフォーム・コア
org.eclipse.debug[.*] - デバッグ
org.eclipse.help[.*] - ヘルプ・サポート
org.eclipse.jdi[.*] - Java デバッグ・インターフェース (JDI) の Eclipse インプリメンテーション
org.eclipse.jdt[.*] - Java 開発ツール
org.eclipse.jface[.*] - JFace
org.eclipse.pde[.*] - プラグイン開発環境
org.eclipse.search[.*] - 検索サポート
org.eclipse.swt[.*] - 標準のウィジェット・ツールキット
org.eclipse.team[.*] - チーム・サポート、バージョン、および構成の管理
org.eclipse.tomcat[.*] - Apache tomcat サポート
org.eclipse.ui[.*] - ワークベンチ
org.eclipse.update[.*] - 更新/インストール
org.eclipse.webdav[.*] - WebDAV サポート
次のパッケージ名セグメントは予約済みです。
internal - API を含まない内部インプリメンテーション・パッケージを示す
tests - テスト・スイートのみを含む非 API パッケージを示す
examples - 例のみを含む非 API パッケージを示す
これらの名前は修飾子として使用され、メジャー・パッケージ名に続いてのみ現れます。 例:
org.eclipse.core.internal.resources - 正しい用法
org.eclipse.internal.core.resources - 誤り。internal がメジャー・パッケージ名の前にある。
org.eclipse.core.resources.internal - 誤り。internal がメジャー・パッケージ名の直後にない。
Eclipse プラットフォームについては構造の他、コアUI に分けることができます。 コアとして分類される内容は、ウィンドウ・システムからは独立しています。 コアに依存し、UI には依存していないアプリケーションおよびプラグインは、指示を与えずに実行が可能です。 コアと UI の区別は、API と非 API との違いとは異なります。コアと UI は共に API を含みます。 Eclipse プラットフォームの UI 部分は、ワークベンチと呼ばれます。 ワークベンチは、プラグイン可能なコンポーネントにより構成される高度な UI を備えた製品を作成するための ハイレベル UI フレームワークです。 ワークベンチは、JFace、SWT、およびプラットフォーム・コアの上位に構築されます。 SWT (標準ウィジェット・ツールキット) は、 低レベルな、OS から独立した形で、ネイティブのウィンドウ・システムとの対話を行います。 JFace は、中位の UI フレームワークであり、プロパティー・ビューアーなどの複雑な UI パーツの作成に使用されます。 SWT および JFace は、定義上、UI とされます。 Java ツールは、ワークベンチの上位に構築される Java IDE です。 End aside.

API パッケージ  API パッケージは、 ISV に対して使用可能にされるクラスおよびインターフェースを含むパッケージです。 API パッケージの名前は、ISV が理解できる名前である必要があります。 API パッケージの数が多いと、ISV がインポートするパッケージがわかりにくくなるため、 ISV 側で覚えなければならないパッケージの数は少なくする必要があります。 API パッケージ中では、すべてのパブリック・クラスおよびインターフェースは、API と見なされます。 API パッケージの名前には、 非 API パッケージの命名方式との混乱を避けるため、internaltests、 または examples を含まないようにする必要があります。

内部インプリメンテーション・パッケージ  プラットフォーム・インプリメンテーションの一部でありながら、 ISV に公開する API を含まないパッケージはすべて、内部のインプリメンテーション・パッケージと見なされます。 すべてのインプリメンテーション・パッケージには、 メジャー・パッケージ名の直後にフラグ internal を付ける必要があります。 ISV にとっては、internal とマークされたパッケージはすべて対象の範囲外であることがわかります。 (".internal." をテキスト検索することにより、ソース・ファイルにおける疑わしい参照を検出することができます。 同様に、.class ファイルでは "/internal/")

テスト・スイート・パッケージ  テスト・スイートを含むパッケージにはすべて、 メジャー・パッケージ名の直後にフラグ tests を付ける必要があります。 完全に自動化されたテストが標準であるため、例えば org.eclipse.core.tests.resources には、 org.eclipse.core.resources の API の自動テストが含まれます。 対話式テスト (テスターが必要) には、パッケージ名の 最後 にフラグ interactive が必要です。 例えば、org.eclipse.core.tests.resources.interactive には、対応する対話式テストが含まれます。

例のパッケージ  例を含むパッケージにはすべて、 メジャー・パッケージ名の直後にフラグ examples を付ける必要があります。 例えば、org.eclipse.swt.examples には、SWT API の使用方法の例が含まれます。

追加規則:

クラスおよびインターフェース

Sun の命名ガイドライン から
クラス名は名詞とし、各内部ワードの最初の文字を大文字とした大文字小文字混合とします。 クラス名は、単純かつ明瞭にしてください。 単語全体を使用し、頭字語や省略語は避けてください (URL や HTML などのように省略形の方が一般的である場合を除く)。

例:
    class Raster;
    class ImageSprite;

インターフェース名は、クラス名と同様に先頭を大文字にします。

インターフェース名の場合、"I" を使用する規則に従います。すべてのインターフェース名には、先頭に "I" を付けます。 例、"IWorkspace" または "IIndex" など。この規則により、インターフェース名が識別しやすくなり、 コードが読みやすくなります。 (Microsoft COM インターフェースは、この規則に準拠。)

追加規則:

メソッド

Sun の命名ガイドライン から
メソッドは動詞とし、先頭は小文字、各内部ワードの最初の文字を大文字とした大文字小文字混合とします。

例:
    run();
    runFast();
    getBackground();

追加規則:

変数

Sun の命名ガイドライン から
変数を除き、すべてのインスタンス、クラス、およびクラス定数は、先頭を小文字として大文字小文字混合とします。 内部ワードの先頭は大文字とします。 変数名は、下線 _ やドル記号 $ が使用できる場合でも、これを先頭に置くことはできません。

変数名は、短く意味のあるものにする必要があります。 変数名は覚えやすいようにし、一般の利用者が用途を判別できるようにしてください。 一文字のみの変数は、一時的な「再利用しない」変数の場合に限り使用するようにしてください。 一時変数の一般的な名前は、ijkm、および n (整数の場合)、 cd、および e (文字の場合) です。

例:
    int i;
    char c;
    float myWidth;

(Note: "fWidget" など、"f" を非定数フィールド名の接頭部とする規則には従っていません。)

定数

Sun の命名ガイドライン から
クラス定数や ANSI 定数を宣言する変数名は、すべて下線 ("_") で区切られた大文字とする必要があります。

例:
    static final int MIN_WIDTH = 4;
    static final int MAX_WIDTH = 999;
    static final int GET_THE_CPU = 1;

プラグインと拡張ポイント

リソースおよびワークベンチのプラグインなど Eclipse プラットフォームの一部であるものをはじめ、 すべてのプラグインには、Java パッケージと同様の命名パターンによる固有 ID が必要です。 例えば、ワークベンチ・プラグインの名前は、org.eclipse.ui[.*] となります。

プラグインのネームスペースは階層的に管理されます。 プラグインを包含するネームスペースの管理者の承認を得ずにプラグインを作成しないようにしてください。

複数の拡張機能を使用する拡張ポイントには、複数名が必要です。 例、"builders" ("builder" ではない)。

Copyright IBM Corporation and others 2000, 2003.