Jump to content

ПМД (программное обеспечение)

ПМД
Первоначальный выпуск 4 ноября 2002 г.
Стабильная версия
7.2.0 [1]  Отредактируйте это в Викиданных / 31 мая 2024 г.
Репозиторий
Написано в Ява
Операционная система Windows , Linux , MacOS
Тип Инструмент статического анализа программы
Лицензия Лицензия BSD , Лицензия Apache 2.0 , Меньшая стандартная общественная лицензия GNU [2]
Веб-сайт пмд .github .что  Edit this on Wikidata

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 .

См. также

[ редактировать ]
  1. ^ «Примечания к выпуску PMD | Анализатор исходного кода PMD» . 31 мая 2024 г. Проверено 13 июня 2024 г.
  2. ^ Jump up to: а б «Лицензия» . Гитхаб . 18 января 2015 года . Проверено 13 августа 2015 г.
  3. ^ «Что означает «PMD»?» . pmd-code.org . Проверено 31 марта 2023 г.
  4. ^ «Уничтожение надоедливых ошибок, часть 4: конец близок» . freesoftwaremagazine.com .
  5. ^ «Инструменты/Интеграции» . pmd-code.org . Проверено 31 марта 2023 г.

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ad1dfef92b498df18949fc296b138501__1703871300
URL1:https://arc.ask3.ru/arc/aa/ad/01/ad1dfef92b498df18949fc296b138501.html
Заголовок, (Title) документа по адресу, URL1:
PMD (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)