PMD (программное обеспечение) - PMD (software)
Эта статья нужны дополнительные цитаты для проверка.Август 2015 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Стабильный выпуск | 6.21.0 / 24 января 2020 г. |
---|---|
Репозиторий | |
Написано в | Ява |
Операционная система | Windows, Linux, macOS |
Тип | Инструмент статического анализа программ |
Лицензия | Лицензия BSD, Лицензия Apache 2.0, Стандартная общественная лицензия ограниченного применения GNU[1] |
Интернет сайт | pmd |
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 версия.
Смотрите также
Рекомендации
- ^ а б "Лицензия". 18 января 2015 г.. Получено 13 августа 2015.
- ^ «Уничтожьте надоедливые ошибки, часть 4: конец близок». freesoftwaremagazine.com.
дальнейшее чтение
- Рутар, Алмазан, Фостер (2004), «Сравнение средств поиска ошибок для Java». ISSRE '04 Труды 15-го Международного симпозиума по проектированию надежности программного обеспечения, IEEE, DOI: 10.1109 / ISSRE.2004.1
внешняя ссылка
- Официальный веб-сайт
- PMD на GitHub
- PMD на SourceForge.net
- CPD на SourceForge.net.
- Книга: "Прикладная ПМД" Автор: ведущий разработчик Том Коупленд ([1] ).
- PMD и CPD в Maven