| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = Статический анализ кода в редакторе Java IDE NetBeans |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Статический анализ кода в редакторе Java IDE NetBeans - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Статический анализ кода в редакторе Java IDE NetBeans |
| |
| Ян Лагода (Jan Lahoda), Алена Сташкова (Alyona Stashkova) |
| |
| В редакторе Java IDE NetBeans реализована новая функция статического анализа кода, которая является инструментом для поиска возможных ошибок и обнаружения несогласованностей в исходном коде. |
| |
| В данном учебном курсе описано выполнение статического анализа кода Java с помощью FindBugs и подсказок Java NetBeans без непосредственного запуска приложений. |
| |
| |
| |
| image::images/netbeans-stamp.png[title="Содержимое этой страницы применимо к IDE NetBeans 8.0"] |
| |
| |
| |
| == Требования |
| |
| *Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.* |
| |
| |=== |
| |Программное обеспечение или материал |Требуемая версия |
| |
| |link:http://netbeans.org/downloads/index.html[+IDE NetBeans+] |Версия 8.0 |
| |
| |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработки приложений на языке Java+] (JDK) |Версия 7 и более поздние версии |
| |
| |link:https://netbeans.org/projects/samples/downloads/download/Samples/Java/library.zip[+library.zip+] |проект NetBeans |
| |
| |link:http://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar[+jsr305-2.0.0.jar+] |Запрос спецификации Java предназначен для улучшения эффективности инструментов статического анализа |
| |=== |
| |
| *Примечание.* Файл ``jsr305-2.0.0.jar`` включен в архив ``library.zip`` только для выполнения заданий данного практического руководства. |
| |
| При работе с другими проектами NetBeans файл link:http://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar[+jsr305-2.0.0.jar+] необходимо загрузить отдельно и добавить в папку 'Библиотеки' проекта в IDE следующим образом: |
| |
| 1. Щелкните правой кнопкой мыши папку 'Библиотеки' и выберите 'Добавить файл JAR/папку' во всплывающем меню. |
| 2. В диалоговом окне 'Добавить файл JAR/папку' укажите путь к загруженному файлу ``jsr305-2.0.0.jar`` и щелкните 'Открыть'. |
| |
| image::images/jar.png[] |
| |
| |
| == Установка среды учебного курса |
| |
| Кроме требуемого программного обеспечения, перечисленного выше, необходимо установить на компьютер нижеперечисленные программы. |
| |
| * Файл link:https://netbeans.org/projects/samples/downloads/download/Samples/Java/library.zip[+library.zip+] необходимо разархивировать в папку проекта NetBeans и открыт в IDE NetBeans. |
| * Подключаемый модуль FindBugs необходимо загрузить и установить в IDE NetBeans следующим образом: |
| 1. Выберите 'Источник' > 'Проверка' в главном меню IDE. |
| 2. В диалоговом окне "Проверка" щелкните "Установить". |
| |
| [.feature] |
| -- |
| |
| image::images/inspect-small.png[role="left", link="images/inspect.png"] |
| |
| -- |
| |
| |
| |
| . В диалоговом окне 'Программа установки' щелкните 'Далее', чтобы продолжить установку. |
| |
| [.feature] |
| -- |
| |
| image::images/plugin-small.png[role="left", link="images/plugin.png"] |
| |
| -- |
| |
| |
| |
| . Прочтите лицензионное соглашение, выберите положение лицензионного соглашения и щелкните 'Установить'. |
| |
| |
| . По завершении установки нажмите кнопку "Готово". |
| |
| |
| == Использование заранее определенных настроек |
| |
| При проверке кода в IDE NetBeans можно использовать заранее определенные конфигурации: |
| |
| * <<all,Все средства анализа>> |
| * <<hints,Подсказки Java NetBeans>> |
| * <<fb,FindBugs>> |
| * <<default,По умолчанию>> |
| |
| |
| === Выполнение всех средств анализа |
| |
| Конфигурация ``Все средства анализа`` развертывает все инструменты статического анализа кода, доступные в IDE. |
| |
| *Для запуска конфигурации ``Все анализаторы`` выполните следующие шаги:* |
| |
| 1. Выберите 'Источник' > 'Проверка' на главной панели инструментов IDE. |
| 2. В раскрывающемся списке 'Область' диалогового окна 'Проверка' выберите ``Текущий проект (библиотека)`` . |
| 3. В раскрывающемся списке 'Конфигурация' выберите конфигурацию ``Все средства анализа`` . |
| |
| [.feature] |
| -- |
| |
| image::images/allconfig-small.png[role="left", link="images/allconfig.png"] |
| |
| -- |
| |
| *Примечание.* Необходимо установить подключаемый модуль <<plugin,FindBugs>> для запуска этой конфигурации в первый раз. |
| |
| |
| |
| . Нажмите кнопку "Проверить". |
| Результаты анализа отображаются в окне 'Инспектор' в представлении дерева слева. |
| |
| [.feature] |
| -- |
| |
| image::images/all-small.png[role="left", link="images/all.png"] |
| |
| -- |
| |
| Описание текущего выбранного результата в представлении дерева отображается справа. |
| |
| [.feature] |
| -- |
| |
| image::images/alldescription-small.png[role="left", link="images/alldescription.png"] |
| |
| -- |
| |
| *Примечание.* Если вы хотите оставить некоторую часть кода, которая описана в отчете как содержащая ошибки без изменений, IDE позволяет подавить предупреждения для этого кода, чтобы оставить его без изменений. Можно дважды щелкнуть предупреждение в представлении дереве в окне 'Инспектор', чтобы перейти в редактор исходного кода. Нажмите Alt-Enter, нажмите на черную стрелку, указывающую вправо в конце отображаемой подсказки и выберите ``SuppressWarning - _(имя предупреждения)_`` . |
| |
| [.feature] |
| -- |
| |
| image::images/suppress-small.png[role="left", link="images/suppress.png"] |
| |
| -- |
| |
| |
| === Проверка кода Java по подсказкам Java NetBeans |
| |
| Конфигурация ``Подсказки Java NetBeans`` , доступная в IDE, позволяет проверить, удовлетворены ли заранее определенные правила стандартов написания кода рассматриваемым исходным кодом. Другими словами, он применяет набор подсказок Java NetBeans (также называется проверками кода) к исходным файлам Java. |
| |
| *Для запуска конфигурации ``Подсказки Java NetBeans`` выполните следующие шаги:* |
| |
| 1. Выберите 'Источник' > 'Проверка' на главной панели инструментов IDE. |
| 2. В раскрывающемся списке 'Область' диалогового окна 'Проверка' выберите ``Открыть проект`` (если имеется только одна ``библиотека`` проект будет открыт в среде IDE) or ``Текущий проект (библиотека)`` . |
| |
| *Примечание.* Можно определить область (файлы. пакеты или проекты) для конфигурации ``Подсказки Java NetBeans`` . |
| |
| |
| |
| . Выберите переключатель 'Конфигурация' и выберите ``Подсказки Java NetBeans`` в раскрывающемся списке. |
| |
| [.feature] |
| -- |
| |
| image::images/hints-small.png[role="left", link="images/hints.png"] |
| |
| -- |
| |
| |
| |
| . Нажмите кнопку "Проверить". |
| В среде IDE отображается представление дерева с результатами анализа с конфигурацией ``Подсказки Java NetBeans`` в окне 'Инспектор'. |
| |
| image::images/hintsconfig.png[] |
| |
| |
| |
| . В окне 'Инспектор' нажмите кнопку <<categorize,Категоризировать>> на панели инструментов слева для просмотра проблем, сгруппированных в категории. |
| |
| image::images/catview.png[] |
| |
| В следующей таблице перечислены команды, доступные в окне 'Инспектор'. |
| |=== |
| |
| |Значок |Имя |Функция |
| |
| |image:images/refreshbutton.png[] |*Обновить* |Отображается обновленный список результатов статического анализа. |
| |
| |image:images/upbutton.png[] |*Предыдущая проблема* |Отображается предыдущая проблема в списке результатов статического анализа. |
| |
| |image:images/downbutton.png[] |*Следующая проблема* |Отображается следующая проблема в списке результатов статического анализа. |
| |
| |image:images/categorizebutton.png[] | |
| *Категоризировать* |Переключение свернутого представления проблем, обнаруженных в файле, проекте или пакета или категоризированного представления всех обнаруженных проблем. |
| |=== |
| |
| |
| === Поиск возможных проблем в коде Java с помощью Findbugs |
| |
| Конфигурация ``FindBugs`` , доступная в IDE, позволяет найти широкий диапазон возможных проблем в коде. Он вызывает популярный инструмент FindBugs для работы с открытым исходным кодом для анализа кода Java. Создается отчет об ошибках, и он отображается в окне реорганизации в IDE NetBeans, в котором разделяются по категориям все обнаруженные проблемы, и обеспечивается возможность навигации напрямую от ошибок в отчете к подозрительному коду. Также можно прочитать описание ошибок в смежном окне или просмотреть его на странице link:http://findbugs.sourceforge.net/bugDescriptions.html[+Описание ошибок FindBugs+] спомощью указателя в верхней части левого фрейма. |
| |
| *Примечание.* Необходимо установить подключаемый модуль <<plugin,FindBugs>> для запуска этой конфигурации в первый раз. |
| |
| *Для определения возможных ошибок в коде Java с помощью конфигурации ``FindBugs`` выполните следующие шаги:* |
| |
| 1. Откройте проект ``library`` в IDE NetBeans и выберите 'Исходный код' > 'Проверка' в главном меню. |
| 2. В раскрывающемся списке 'Область' диалогового окна 'Проверка' выберите ``Текущий проект (библиотека)`` . |
| |
| *Примечание.* Можно проверить файлы, пакеты или проекты с помощью конфигурации ``FindBugs`` . |
| |
| |
| |
| . В диалоговом окне 'Проверка' выберите конфигурацию ``FindBugs`` . |
| |
| [.feature] |
| -- |
| |
| image::images/fb-small.png[role="left", link="images/fb.png"] |
| |
| -- |
| |
| |
| |
| . Щелкните кнопку 'Инспектор' для запуска статического анализа кода. |
| Результат статического анализа кода отображается в окне 'Инспектор' ниже редактора исходного кода. |
| Описание выбранной проблемы отображается в фрейме справа. |
| |
| [.feature] |
| -- |
| |
| image::images/inspector-small.png[role="left", link="images/inspector.png"] |
| |
| -- |
| |
| |
| |
| . В качестве альтернативы нажмите кнопку <<categorize,Категоризировать>> на панели инструментов слева для просмотра проблем, сгруппированных в категории. |
| |
| image::images/fbcat.png[] |
| |
| *Примечания* |
| |
| * Если дважды щелкнуть проблему в развернутом списке, в IDE отображается указанная в отчете проблема в редакторе исходного кода. |
| Нажмите Alt-Enter для просмотра описания проблемы в исходном коде. |
| |
| [.feature] |
| -- |
| |
| image::images/source-editor-small.png[role="left", link="images/source-editor.png"] |
| |
| -- |
| |
| * Возможные проблемы выделены в коде значком восклицательного знака (image:images/exclamation.png[]) на левой границе редактора исходного кода. |
| |
| *Для включения FindBugs в редакторе Java выполните следующие шаги:* |
| |
| 1. Выберите 'Сервис' > 'Параметры' на главной панели инструментов IDE. |
| 2. Перейдите на вкладку 'Редактор' и выберите 'Подсказки'. |
| 3. Выберите ``FindBugs`` в раскрывающемся списке 'Язык'. |
| |
| [.feature] |
| -- |
| |
| image::images/fb-editor-small.png[role="left", link="images/fb-editor.png"] |
| |
| -- |
| |
| |
| |
| . Выберите 'Выполнить FindBugs' в параметре 'Редактор'. |
| |
| |
| . Нажмите кнопку "ОК". |
| Если сейчас нажать Alt-Enter в исходном коде, где сообщается о проблеме, и щелкнуть черную стрелку в конце отображаемой подсказки, в IDE показываются некоторые варианты исправления возможных проблем. |
| |
| [.feature] |
| -- |
| |
| image::images/fbenabled-small.png[role="left", link="images/fbenabled.png"] |
| |
| -- |
| |
| |
| === Настройка конфигурации по умолчанию |
| |
| Во время работы над кодом может потребоваться настроить заранее определенную конфигурацию, которая включает в себя собственные подсказки Java NetBeans или ошибки FindBugs. |
| |
| *Для персонализации заранее настроенной конфигурации ``По умолчанию`` в соответствии с требованиями, выполните следующие шаги:* |
| |
| 1. Выберите 'Источник' > 'Проверка' на главной панели инструментов IDE. |
| 2. В диалоговом окне 'Проверка' выберите переключатель 'Конфигурация' и выберите конфигурация ``по умолчанию`` . |
| 3. Нажмите Управлять. |
| IDE отображает диалоговое окно 'Конфигурации'. |
| |
| image::images/configurations-db.png[] |
| |
| |
| |
| . Убедитесь, что в раскрывающемся списке 'Конфигурация' выбрано ``По умолчанию`` . |
| |
| |
| . В раскрывающемся списке 'Средство анализа' выберите средство анализа ``Соответствие профилей JRE 8`` , ``Подсказки Netbeans Java`` или ``FindBugs`` . |
| |
| |
| . В зависимости от выбранного средства анализа в предыдущем шаге выберите профиль, проверки или ошибки, которые необходимо включить в конфигурацию ``по умолчанию`` . |
| |
| [.feature] |
| -- |
| |
| image::images/select-inspections-small.png[role="left", link="images/select-inspections.png"] |
| |
| -- |
| |
| |
| |
| . Нажмите ОК, чтобы сохранить конфигурацию ``По умолчанию`` . |
| |
| |
| == Создание и удаление конфигурации |
| |
| Пользователи могут создавать и удалять свои собственные конфигурации, которые будут использоваться в статическом анализе кода Java. |
| |
| *Для создания конфигурации выполните следующие шаги:* |
| |
| 1. Выберите 'Источник' > 'Проверка' на главной панели инструментов IDE. |
| 2. В диалоговом окне 'Проверка' выберите переключатель 'Конфигурация' и выберите конфигурация ``по умолчанию`` . |
| 3. Нажмите Управлять. |
| 4. В диалоговом окне 'Конфигурация' щелкните черную стрелку в конце раскрывающегося списка 'Конфигурация' и выберите 'Создать'. |
| |
| image::images/newconfig.png[] |
| |
| Создается конфигурация ``newConfig`` и добавляется в раскрывающийся список 'Конфигурации'. |
| |
| image::images/newconfig-created.png[] |
| |
| |
| |
| . В раскрывающемся списке 'Средство анализа' выберите ``Соответствие профилей JRE 8`` , ``Подсказки Netbeans Java`` или ``FindBugs`` . |
| |
| |
| . Укажите профиль, проверки или ошибки для включения в вашу конфигурацию. |
| |
| |
| . Нажмите ОК, чтобы сохранить правки и закрыть диалоговое окно 'Конфигурацию'. |
| Созданная конфигурация ``newConfig`` доступна в раскрывающемся списке 'Конфигурация' в диалоговом окне 'Инспектор'. |
| |
| [.feature] |
| -- |
| |
| image::images/newconfig-inspect-small.png[role="left", link="images/newconfig-inspect.png"] |
| |
| -- |
| |
| *Примечание.* Чтобы переименовать конфигурацию, выберите конфигурацию ``newConfig`` в раскрывающемся списке 'Конфигурация', щелкните черную стрелку в конце раскрывающегося списка 'Конфигурация' и выберите 'Переименовать'. Введите новое имя (например, ``renamedConfig`` ) и нажмите клавишу Enter, чтобы сохранить правки. |
| |
| image::images/renamedconfig.png[] |
| |
| *Для удаления конфигурации выполните следующие шаги:* |
| |
| 1. Выберите 'Источник' > 'Проверка' на главной панели инструментов IDE. |
| 2. В диалоговом окне 'Проверка' нажмите переключатель 'Конфигурация' и выберите конфигурацию для удаления (в этом примере ``renamedConfig`` ). |
| 3. Нажмите Управлять. |
| 4. В диалоговом окне 'Конфигурации' щелкните черную стрелку в конце раскрывающегося списка 'Конфигурация' и выберите 'Удалить'. |
| |
| image::images/delete.png[] |
| |
| |
| |
| . В диалоговом окне 'Удалить конфигурацию' щелкните 'Да', чтобы подствердить удаление конфигурации. |
| |
| image::images/delete-confirm.png[] |
| |
| Конфигурация ``renamedConfig`` удалена из списка 'Конфигурации'. |
| |
| *Примечание.* Lля получения информации о том, как создать модуль NetBeans, который предоставляет одну или несколько подсказок Java NetBeans см. link:http://platform.netbeans.org/tutorials/nbm-java-hint.html[+Учебный курс по модулю подсказок Java NetBeans+]. |
| |
| |
| == Выполнение отдельных проверок |
| |
| Исходный код можно проверить на наличие определенной проблемы в с помощью функции статического анализа в IDE NetBeans. |
| |
| *Для выявления конкретного несоответствия или проблемы в исходном коде Java при выполнении одной проверки, выполните следующие шаги:* |
| |
| 1. Выберите 'Источник' > 'Проверка' в главном меню IDE. |
| 2. В раскрывающемся списке 'Область' диалогового окна 'Проверка' укажите файл, пакет или проект(-ы), которые требуется проверить. |
| 3. Выберите 'Отдельная проверка' и выполните одно из следующих действий: |
| * В раскрывающемся списке 'Отдельная проверка' с помощью прокрутки перейдите и выделите _одну_ подсказку Java NetBeans или проблему FindBugs, которые будут использоваться при анализе исходного кода. |
| |
| [.feature] |
| -- |
| |
| image::images/single-inspection-small.png[role="left", link="images/single-inspection.png"] |
| |
| -- |
| |
| * Щелкните 'Обзор', чтобы открыть диалоговое окно 'Конфигурации', и в раскрывающемся списке 'Средство анализа' укажите средство анализа, выберите профиль (для средства анализа Соответствие профиля JRE 8), _одну_ проверку (для средства анализа NetBeans Java Hints) и _одну_ ошибку (для средства анализа NetBeans Java Hints), которая будет использоваться в анализе исходного кода. Нажмите кнопку 'ОК', чтобы закрыть диалоговое окно 'Конфигурации'. |
| |
| [.feature] |
| -- |
| |
| image::images/hint-inspection-small.png[role="left", link="images/hint-inspection.png"] |
| |
| -- |
| |
| |
| |
| . В диалоговом окне 'Проверка' щелкните 'Проверка', чтобы выполнить анализ исходного кода. |
| После завершения операции 'Проверка', подсказки, которые могут быть применены к коду или проблемам, которые были найдены, отображаются в окне 'Инспектор' ниже редактора исходного кода. |
| |
| |
| == Заключение |
| |
| В этом учебном курсе описываются наиболее распространенные варианты использования функции статического анализа кода в IDE NetBeans. Обратите внимание, что с помощью функции статического анализа кода можно также выполнять пользовательскую реорганизацию в контексте проекта или применять специальные настройки реорганизации к нескольким проектам, открытым в IDE, и т. п. |
| |
| <<top,В начало>> |
| |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Static%20Code%20Analysis%20in%20NetBeans%20IDE[+Отправить отзыв по этому учебному курсу+] |
| |
| |
| |
| == Дополнительные сведения |
| |
| Связанные материалы можно найти в следующих документах: |
| |
| * link:code-inspect-screencast.html[+Видеообзор функции статического анализа кода в IDE NetBeans+] |
| * link:http://wiki.netbeans.org/Java_Hints[+Полный список подсказок Java NetBeans+] |
| * link:http://wiki.netbeans.org/JavaDeclarativeHintsDescriptionSketch[+Описание декларативных подсказок Java NetBeans+] |
| * link:http://platform.netbeans.org/tutorials/nbm-java-hint.html[+Учебный курс по модулям подсказок Java NetBeans+] |
| * link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG613[+Использование подсказок при анализе и рефакторинге исходного кода+] в разделе _Разработка приложений с помощью NetBeans IDE_ |
| |
| <<top,В начало>> |
| |