
pmd pmd_releases/7.27.0
Ein erweiterbarer mehrsprachiger statischer Code-Analyzer.
PMD - Quellcode-Analysewerkzeug

PMD ist ein erweiterbarer mehrsprachiger statischer Code-Analyzer. Er findet häufige Programmierfehler wie ungenutzte Variablen, leere catch-Blöcke, unnötige Objekterstellung und so weiter. Er konzentriert sich hauptsächlich auf Java und Apex, unterstützt aber 16 andere Sprachen. Er enthält 400+ integrierte Regeln und kann mit benutzerdefinierten Regeln erweitert werden. Er verwendet JavaCC und Antlr, um Quelldateien in abstrakte Syntaxbäume (AST) zu parsen, und führt Regeln gegen diese aus, um Verstöße zu finden. Regeln können in Java oder mit einer XPath-Abfrage geschrieben werden.
Derzeit unterstützt PMD Java, JavaScript, Salesforce.com Apex und Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML und XSL. Scala wird unterstützt, aber derzeit sind keine Scala-Regeln verfügbar.
Zusätzlich enthält es CPD, den Copy-Paste-Detector. CPD findet duplizierten Code in Coco, C/C++, C#, CSS, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PL/SQL, Python, Ruby, Salesforce.com Apex und Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML und XSL.
🚀️ Installation und Verwendung
Laden Sie das neueste binäre ZIP von den Releases herunter und entpacken Sie es an einen beliebigen Ort.
Führen Sie bin/pmd check oder bin\pmd.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
ℹ️ Wie erhalte ich Unterstützung?
- Wie mache ich das? – Stellen Sie eine Frage auf StackOverflow oder in den Diskussionen.
- Ich habe diesen Fehler erhalten, warum? – Stellen Sie eine Frage auf StackOverflow oder in den Diskussionen.
- Ich habe diesen Fehler erhalten und bin sicher, dass es ein Fehler ist – reichen Sie ein Issue ein.
- Ich habe eine Idee/Anfrage/Frage – erstellen Sie eine neue Diskussion.
- Ich habe eine kurze Frage – fragen Sie in unserem Gitter-Raum oder unserem PMD Guru bei Gurubase.
- Wo ist Ihre Dokumentation? – https://docs.pmd-code.org/latest/
🤝️ Mitwirken
Pull-Requests sind willkommen. Bei größeren Änderungen öffnen Sie bitte zuerst ein Issue, um zu besprechen, was Sie ändern möchten.
Den neuesten Quellcode von PMD finden Sie auf GitHub. Forken Sie uns!
Für Details siehe Wie man zu PMD beiträgt.
Der Regeldesigner wird unter pmd/pmd-designer entwickelt. Bitte lesen Sie dessen README für die Entwicklerdokumentation.
💵️ Finanzielle Beitragende
Werden Sie ein finanzieller Beitragender und helfen Sie uns, unsere Community zu erhalten. Beitragen
✨️ Beitragende
Dieses Projekt folgt der all-contributors-Spezifikation. Beiträge jeglicher Art sind willkommen!
Siehe Credits für die vollständige Liste.