Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Findbugs сохранил меня делающий что-то глупое дважды сегодня.
http://findbugs.sourceforge.net/
Eclipse обновляет сайт: http://findbugs.cs.umd.edu/eclipse/
Существует некоторый большой материал, упомянутый другими, но я собираюсь поместить SQLExplorer там, также. Возможно, не столь обычно полезный как Знаток или FindBugs, но это является большим для получения по запросу любого источника данных JDBC в IDE, таким образом, можно протестировать его и исследовать структуру DB. Это также доступно как автономное приложение RCP.
Я только что обнаружил Byecycle. Это средство просмотра зависимости позволяет Вам видеть, насколько симпатичный (или иначе) Ваш дизайн и выделяет любые круговые зависимости между классами, позволяя Вам принять соответствующие меры.
Я собираюсь обмануть и сказать плагин знатока. Затем все остальное может зависнуть от этого.
Плюс, плагин затмения знатока заботится о самой большой единственной проблеме, которую я имею с затмением: Установка Вашего пути к классу.
Eclipse Метрическая Функция ( обновляют сайт ). Аннотация:
Этот плагин Eclipse вычисляет различные метрики для Вашего кода во время циклов сборки и предупреждает Вас, через представление задач, вЂrange violations’ для каждой метрики. Это позволяет Вам оставаться непрерывно знающий о здоровье Вашей кодовой базы. Можно также экспортировать метрики в HTML для общедоступного дисплея или в формат CSV для дальнейшего анализа.
(на самом деле, я люблю FindBugs больше, но этот проект является вторым.)
Кажется, что Вы не можете действительно ответить на этот вопрос, не имея фокуса для Вашей разработки в Eclipse. Я предполагаю, что всем нужны сборка и система зависимости, поэтому возможно, инструменты Maven победят?
Если Вы используете, в спящем режиме затем , в спящем режиме, Инструменты являются необходимостью. Мне действительно нравится способность записать мой HQL или JPQL и просмотреть сгенерированное реальное время SQL!
, Если Вы не используете, в спящем режиме, я предполагаю Ваше использование базы данных в некоторой форме или другом. Поэтому я рекомендовал бы Платформа Инструментов Данных . На самом деле Вы были бы сумасшедшими разработать приложения Java, не используя все плагины, обеспеченные Выпуск Eclipse Ganymede. Это - большая платформа разработки без головной боли получения всего должен, синхронизировали плагины и сотрудничество.
Eclipse TPTP может быть невероятно полезен для нахождения медленных пятен в коде и для чего-либо еще, что было бы, требуя отладки, профилирования или сравнительного тестирования. Единственный дефект - то, что это не работает над Mac :'(.
Я особенно люблю плагин планировщика байт-кода, хотя он не подойдет, все вкусы начиная с рассмотрения байт-кода Java не для всех. Иногда действительно полезно видеть базовый байт-код для Вашего класса Java.
Обновляют сайт: http://download.forge.objectweb.org/eclipse-update/
Checkstyle. Его очень быстрое.
FindBugs замечателен, но довольно медленный
Мой ответ на это ясно eclim. Это экспортирует функциональность Eclipse в Vim, позволяя мне использовать несколько потрясающих функций Eclipse, как автозавершение, автосборка и ошибочная разметка в исходном файле (использующий местоположения в Vim), автоформатирование, автоматический импорт, поиск JavaDoc, Поиск Исходного кода... вздор, я мог продолжить навсегда. Самая важная вещь: Я не должен использовать сосание, которое является Редактором Java Eclipse (мне, качество редактора всегда субъективно, конечно).
Выезд сайт, если Вы в Vim, но вынудили/соблазнили для использования Eclipse по той или иной причине.
Subclipse SVN для URL Обновления затмения: http://subclipse.tigris.org/update_1.4.x
Если необходимо получить больше понимания в покрытии кода , EclEmma довольно прост и полезный
Отвечая на мой собственный вопрос с моим текущим фаворитом, Jadclipse, который работает с врубом для разборки файлов класса из сторонних библиотек.
java.decompiler.free.fr/?q=jdeclipse Java Decomipler Plugin for eclipse. I thought, it is the most useful plugin.
HyperAssist.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=159157
На мой взгляд, это единственный фактор, который позволяет Eclipse опережать любая другая IDE с точки зрения реальной производительности.
FileSync оказался действительно удобным при работе с веб-приложениями, потому что он позволяет мне плавно получать инкрементное развертывание для файлов типа ресурсов, таких как javascripts, JSP, файлы CSS , и так далее. Его просто настроить, и он достаточно мощный, чтобы выполнять свою работу.
Инструменты JBoss для быстрой и простой разработки веб-приложений.
Я бы порекомендовал Spring Source Tool Suite , который предназначен для корпоративной разработки Java со средой Spring.