ПМД (программное обеспечение)
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2015 г. ) |
![]() | |
Первоначальный выпуск | 4 ноября 2002 г. |
---|---|
Стабильная версия | 7.2.0 [1] ![]() |
Репозиторий | |
Написано в | Ява |
Операционная система | Windows , Linux , MacOS |
Тип | Инструмент статического анализа программы |
Лицензия | Лицензия BSD , Лицензия Apache 2.0 , Меньшая стандартная общественная лицензия GNU [2] |
Веб-сайт | пмд ![]() |
PMD — это статический исходного кода анализатор с открытым исходным кодом , который сообщает о проблемах, обнаруженных в коде приложения. PMD включает встроенные наборы правил и поддерживает возможность написания собственных правил. PMD не сообщает об ошибках компиляции, поскольку может обрабатывать только исходные файлы правильного формата. Скорее, PMD предназначен для обнаружения неэффективного кода или плохих привычек программирования, которые могут снизить производительность и удобство сопровождения программы, если они накапливаются. Он может анализировать файлы, написанные на Java , JavaScript , Apex и Visualforce, PLSQL , Apache Velocity , XML и XSL.
Хотя PMD официально ничего не означает, [3] было предложено несколько ретро-аббревиатур, в том числе, например, «Детектор ошибок программирования» и «Проект соответствует сроку». [4]
Функции
[ редактировать ]PMD способен обнаруживать дефекты или возможные дефекты в исходном коде, например:
- Ошибки — пустые блоки try/catch/finally/switch.
- Мертвый код — неиспользуемые локальные переменные , параметры и частные методы .
- Пустые операторы if/ while.
- Чрезмерно сложные выражения — ненужные операторы if для циклов, которые могут быть циклами while.
- Неоптимальный код — расточительное использование String/StringBuffer.
- Классы с высокими измерениями цикломатической сложности .
- Дублирующийся код. Скопированный/вставленный код может означать скопированные/вставленные ошибки и снижает удобство сопровождения.
Лицензия
[ редактировать ]PMD выпускается под лицензией BSDish, а некоторые его части — под лицензией Apache License 2.0 и LGPL . [2]
Детектор копирования/вставки (CPD)
[ редактировать ]Детектор копирования/вставки ( CPD ) — это дополнение к PMD, которое использует алгоритм поиска строк Рабина-Карпа для поиска дублированного кода . В отличие от PMD, CPD работает с более широким спектром языков, включая Java, JavaServer Pages (JSP), C , C++ , Fortran , PHP и C# код .
Плагины
[ редактировать ]У PMD есть плагины для JDeveloper , Eclipse , jEdit , JBuilder , Omnicore’s CodeGuide, NetBeans / Sun Studio , IntelliJ IDEA , TextPad , Maven , Ant , Gradle , Gel, JCreator, Hudson , Jenkins , SonarQube , Visual Studio Code и Emacs . [5] Существует также версия CLI .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Примечания к выпуску PMD | Анализатор исходного кода PMD» . 31 мая 2024 г. Проверено 13 июня 2024 г.
- ^ Jump up to: а б «Лицензия» . Гитхаб . 18 января 2015 года . Проверено 13 августа 2015 г.
- ^ «Что означает «PMD»?» . pmd-code.org . Проверено 31 марта 2023 г.
- ^ «Уничтожение надоедливых ошибок, часть 4: конец близок» . freesoftwaremagazine.com .
- ^ «Инструменты/Интеграции» . pmd-code.org . Проверено 31 марта 2023 г.
Дальнейшее чтение
[ редактировать ]- Рутар, Алмазан, Фостер (2004), «Сравнение инструментов поиска ошибок для Java» . ISSRE '04 Труды 15-го Международного симпозиума по проектированию надежности программного обеспечения , IEEE, doi:10.1109/ISSRE.2004.1
Внешние ссылки
[ редактировать ]- Официальный сайт
- PMD на GitHub
- PMD на SourceForge
- Цена за день на SourceForge.net .
- Книга: «PMD Applied», написанная ведущим разработчиком Томом Коуплендом ( [1] ).
- PMD и CPD в Maven