Использование @NotNull в проекте, в котором работают как разработчики IntelliJ, так и Eclipse
Сотрудник IntelliJ IDEA (работа над другим проектом) показал мне потрясающую аннотацию @NotNull. Я читал здесь сообщения о SO о том, как начать добавлять @NotNull повсюду, где было много времени и головных болей (и IntelliJ 10 может даже автоматически добавлять @NotNull в старый код, когда обнаруживает, что null приведет к хаосу).
Так как я прочитал свое первое сообщение "Вероятное нарушение @NotNull" (в режиме реального времени, в среде IDE, даже на частичном .java файле, который еще не компилируется), моя челюсть упала, и я получил доступ.
Итак, мне было интересно: есть ли что-то, что нужно знать, если мы хотим начать использовать @NotNull в проекте, где разработчики используют как Eclipse, так и IntelliJ?
Я знаю, что IntelliJ поставляется с аннотациями. Является ли это совместимым с Eclipse?
Ответы
Ответ 1
Существует также возможность хранить аннотации вне источника.
Настройки > Стиль кодa > Генерация кодa > Используйте внешние аннотации.
Аннотации затем сохраняются в файле annotations.xml, а не в источнике. Таким образом, пользователям Eclipse никогда не придется видеть аннотации. Расположение файла annotations.xml можно настроить, и, вероятно, лучше всего сохранить файл с проектом в управлении версиями.
См
http://www.jetbrains.com/idea/webhelp/using-external-annotations.html
http://blogs.jetbrains.com/idea/2008/02/external-annotations/
Ответ 2
Вы можете использовать annotations.jar
с Eclipse, но вы, вероятно, не получите каких-либо преимуществ... См. этот сообщение SO.
Ответ 3
Вы можете поддерживать обе IDE с помощью FindBugs @NonNull и связанных с ними плагинов IDE.
Ответ 4
Findbugs имеет аналогичную функциональность, но интеграция - это бледная тень встроенного IntelliJ.
Ответ 5
Я бы спросил, почему одна команда не использует общую среду IDE. Почему бы не стандартизировать одно или другое? (Вы знаете, с кем я порекомендую, чтобы вы пошли.)