2016-05-03 6 views
1

私はEclipseプラグインを作成しています。多くのコンポーネントでは、それらを動的に参照するためにIDを指定する必要があります。コンポーネントの完全修飾クラス名をそのIDとして使用することに問題がありますか?私のプラグインコンポーネント用Eclipseプラグインで指定されたID

private static final String ID = MyComponent.class.getName(); 

public static String id() { 
    return ID; 
} 

:つまり

、指定のいずれかの欠点/間違いはありますか?

答えて

1

技術的には、完全修飾クラス名を拡張ポイントIDとして使用することは間違いありません。簡単にするために、私は通常、この命名規則に固執し、実際には欠点も見ていませんでした。

ただし、拡張機能IDと拡張ポイントIDのEclipse命名規則では、プラグインのIDを修飾子として使用し、続いてCamcelCaseの名前を使用します。名前は時々大文字で始まります。

ほとんどのビューは、たとえば、パッケージエクスプローラビュー:org.eclipse.jdt.ui.PackageExplorerのように、大文字で始まります。一方、デバッグコンテキストは、org.eclipse.debug.ui.debuggingで示されます。

プラグインが他のユーザーのためにAPIを提供している場合、その拡張もAPIと見なされます。内線番号を除外する場合は、 com.example.myplugin.internal.myViewのように、IDのプラグイン部分の後にinternalセグメントを挿入します。

1

ほとんどのIDは、Javaコードと同様にplugin.xmlファイルの拡張ポイントで使用されるため、このようなクラス名を使用することはおそらくお勧めできません。 plugin.xmlに文字列の値を指定する必要があります。また、Javaファイルで異なる式を使用すると、idの出現をすべてのファイルで検索することが難しくなります。

通常、IDはプラグインID + 1つの余分な単語で構成されています。

+0

ありがとうございます。しかし、IDEがJavaファイルと非Javaファイルの完全修飾名を置き換えることができるという理由で、リファクタリング(リパッケージング/名前変更)中に検索と置換が実際に簡単ではないでしょうか? – Neel

関連する問題