我在寫一個eclipse插件。對於許多組件,有必要指定一個ID以便動態引用它們。在使用組件的全限定類名作爲它的id時是否有任何疑問?在Eclipse插件中指定的ID
換句話說,有沒有指定任何缺點/錯誤:
private static final String ID = MyComponent.class.getName();
public static String id() {
return ID;
}
我的插件組件?
我在寫一個eclipse插件。對於許多組件,有必要指定一個ID以便動態引用它們。在使用組件的全限定類名作爲它的id時是否有任何疑問?在Eclipse插件中指定的ID
換句話說,有沒有指定任何缺點/錯誤:
private static final String ID = MyComponent.class.getName();
public static String id() {
return ID;
}
我的插件組件?
從技術上說,使用完全限定的類名稱作爲擴展點ID沒有任何問題。爲了簡單起見,我通常堅持這種命名慣例,並且在實踐中也沒有看到任何缺點。
但是,擴展和擴展點ID的Eclipse命名約定是使用插件的ID作爲限定符,後跟一個CamcelCase的名稱。該名稱有時以大寫字母開頭。
大多數視圖,例如,以大寫字母開頭,如包資源管理器視圖:org.eclipse.jdt.ui.PackageExplorer
。另一方面,調試環境與org.eclipse.debug.ui.debugging
一致。
如果您的插件提供了供其他人使用的API,那麼這些擴展也被視爲API。如果要排除擴展名,請在ID的插件部分之後放置一個internal
段,例如: com.example.myplugin.internal.myView
。
大多數id用在plugin.xml文件的擴展點以及Java代碼中,所以使用類似這樣的類名可能不是一個好主意。您仍然必須在plugin.xml中提供字符串值,並且在Java文件中使用不同的公式會使搜索所有文件中發生的id更加困難。
通常ID由插件ID +一個額外的單詞組成。
謝謝你的迴應。但是,假設IDE可以替換Java和非Java文件中的完全限定名,那麼在重構(重新打包/重命名)過程中搜索和替換實際上並不容易嗎? – Neel