PMD (программное обеспечение) - PMD (software)

PMD
Стабильный выпуск
6.21.0 / 24 января 2020 г.; 10 месяцев назад (2020-01-24)
Репозиторий Отредактируйте это в Викиданных
Написано вЯва
Операционная системаWindows, Linux, macOS
ТипИнструмент статического анализа программ
ЛицензияЛицензия BSD, Лицензия Apache 2.0, Стандартная общественная лицензия ограниченного применения GNU[1]
Интернет сайтpmd.github.io Отредактируйте это в Викиданных

PMD (детектор ошибок программирования) статический исходный код анализатор который сообщает о проблемах, обнаруженных в коде приложения. PMD включает встроенные наборы правил и поддерживает возможность писать собственные правила. PMD не сообщает об ошибках компиляции, поскольку может обрабатывать только правильно сформированные исходные файлы. Проблемы, о которых сообщает PMD, представляют собой довольно неэффективный код или плохие привычки программирования, которые могут снизить производительность и ремонтопригодность программы, если они накапливаются. Он может анализировать файлы, написанные на Ява, JavaScript, Апекс и Visualforce, PLSQL, Скорость Apache, XML и XSL.

Хотя PMD официально ничего не означает, у него есть несколько неофициальных названий, наиболее подходящим из которых, вероятно, является Детектор ошибок программирования.[2]

Функции

PMD может обнаруживать недостатки или возможные недостатки в исходном коде, например:

  • Возможные ошибки—Пустые блоки try / catch / finally / switch.
  • Мертвый код—Неиспользуется локальные переменные, параметры и частные методы.
  • Пустые операторы if / while.
  • Слишком сложные выражения- Необязательные операторы if для циклов, которые могут быть циклами while.
  • Неоптимальный код- Бесполезное использование String / StringBuffer.
  • Классы с высоким Цикломатическая сложность измерения.
  • Повторяющийся код—Копированный / вставленный код может означать скопированные / вставленные ошибки и снижает ремонтопригодность.

Лицензия

PMD выпускается под лицензией BSDish, в то время как его части находятся под Лицензия Apache 2.0 и LGPL.[1]

Детектор копирования / вставки (CPD)

В Детектор копирования / вставки (CPD) - это дополнение к PMD, которое использует Алгоритм поиска строки Рабина – Карпа найти дублированный код. В отличие от PMD, CPD работает с более широким спектром языков, включая Java, JavaServer Pages (JSP), C, C ++, Фортран, PHP, и C # код.

Плагины

PMD имеет плагины за JDeveloper, Затмение, jEdit, JBuilder, CodeGuide Omnicore, NetBeans /Солнечная студия, IntelliJ IDEA, TextPad, Maven, Муравей, Gradle, Гель, JCreator, Hudson, Дженкинс, SonarQube, Код Visual Studio и Emacs. Также есть CLI версия.

Смотрите также

Рекомендации

  1. ^ а б "Лицензия". 18 января 2015 г.. Получено 13 августа 2015.
  2. ^ «Уничтожьте надоедливые ошибки, часть 4: конец близок». freesoftwaremagazine.com.

дальнейшее чтение

внешняя ссылка