2016-05-03 2 views
1

Я пишу плагин eclipse. Для многих компонентов необходимо указать идентификатор, чтобы динамически ссылаться на них. Есть ли какой-либо вопрос в использовании полного имени класса компонента в качестве его идентификатора?ID, указанные в плагине Eclipse

Другими словами, есть ли обратная сторона/ошибка в определении:

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

public static String id() { 
    return ID; 
} 

для моих компонентов плагина?

ответ

1

Технически, нет ничего плохого в использовании полного имени класса в качестве идентификатора точки расширения. И для простоты я обычно придерживаюсь этого соглашения об именах и на практике также не видел недостатка.

Однако соглашения об именах Eclipse для идентификаторов расширений и расширений должны использовать идентификатор подключаемого модуля в качестве квалификатора, за которым следует имя CamcelCase'd. Имя иногда начинается с прописной буквы.

Большинство видов, например, начинаются с прописной буквы, например, Пакет Explorer вид: org.eclipse.jdt.ui.PackageExplorer. С другой стороны, контекст идентифицирован org.eclipse.debug.ui.debugging.

Если ваш плагин предоставляет API для других, на которые распространяются расширения, также считается API. Если вы хотите исключить расширение, поместите сегмент internal после подключаемой части идентификатора, например: com.example.myplugin.internal.myView.

1

Большинство идентификаторов используется в точках расширения в файлах plugin.xml, а также в Java-коде, поэтому, вероятно, не рекомендуется использовать имя класса, подобное этому. Вам все равно придется указывать строковое значение в файле plugin.xml и использовать другую формулировку в файлах Java, что затруднит поиск всех файлов для вхождения идентификатора.

Обычно идентификаторы состоят из идентификатора плагина + одного дополнительного слова.

+0

Благодарим за отзыв. Но действительно ли было бы легко искать и заменять во время рефакторинга (для переупаковки/переименования), учитывая, что среда IDE может заменить полное имя в Java и файлах, отличных от Java? – Neel

Смежные вопросы