PMD ist ein erweiterbarer mehrsprachiger statischer Code-Analysator. Es findet häufige Programmierfehler wie nicht verwendete Variablen, leere Catch-Blöcke, unnötige Objekterstellung usw. Es befasst sich hauptsächlich mit Java und Apex , unterstützt aber 16 weitere Sprachen . Es verfügt über mehr als 400 integrierte Regeln . Es kann mit benutzerdefinierten Regeln erweitert werden. Es verwendet JavaCC und Antlr, um Quelldateien in abstrakte Syntaxbäume (AST) zu analysieren und führt Regeln gegen sie aus, um Verstöße zu finden. Regeln können in Java oder mithilfe einer XPath-Abfrage geschrieben werden.
Derzeit unterstützt PMD Java, JavaScript, Salesforce.com Apex und Visualforce, Kotlin, Swift, Modelica, PLSQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML und XSL. Scala wird unterstützt, es sind jedoch derzeit keine Scala-Regeln verfügbar.
Darüber hinaus enthält es CPD , den Copy-Paste-Detektor. CPD findet doppelten Code in Coco, C/C++, C#, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PLSQL , Python, Ruby, Salesforce.com Apex und Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML und XSL.
Laden Sie die neueste binäre Zip-Datei aus den Versionen herunter und extrahieren Sie sie irgendwo.
Führen Sie bin/pmd check
oder binpmd.bat check
aus.
Siehe auch Erste Schritte
Demo:
Dies zeigt, wie PMD openjdk analysiert:
Es gibt Plugins für Maven und Gradle sowie für verschiedene IDEs. Siehe Tools / Integrationen
Pull-Anfragen sind willkommen. Bei größeren Änderungen öffnen Sie bitte zunächst ein Problem, um zu besprechen, was Sie ändern möchten.
Unsere neueste PMD-Quelle finden Sie auf GitHub. Gabel uns!
Der Regeldesigner wird von pmd/pmd-designer entwickelt. Die Entwicklerdokumentation finden Sie in der README-Datei.
Werden Sie ein finanzieller Spender und helfen Sie uns, unsere Gemeinschaft zu erhalten. Beitragen
Dieses Projekt folgt der All-Contributors-Spezifikation. Beiträge jeglicher Art willkommen!
Die vollständige Liste finden Sie unter Credits.
BSD-Stil