Intellij IDEA eingebauter Prüfcode vs Checkstyle, PMD & Findbugs

9

Vor kurzem habe ich nach dem besten Werkzeug für die Code-Inspektion gesucht. Meine IDE ist Intellij 15.0 und ich weiß, dass es dort gute Inspektionsfähigkeiten gibt, aber wenn ich über das Internet schaue, habe ich keinen guten Vergleich zwischen Intellij Buildin Inspektionscode und diesen drei gefunden. Kann jemand, der sie alle ausprobiert hat, einige Best Practices geben? Bedeckt Intellij alle?

Ich weiß, dass F \ u00fcberge in binärer Ebene laufen, aber trotzdem im Vergleich bleiben.

    
Idan 06.12.2015, 16:05
quelle

1 Antwort

12

Im Checkstyle Projekt verwenden wir alle diese Tools: Checkstyle , PMD , FindBugs und IntelliJ IDEA Inspektionen .

Hier sind meine Beobachtungen:

  • Es gibt keinen Ersatz für Checkstyle , wenn es um Formatierung, Leerzeichen, Klammernplatzierung, Javadoc und allgemeinen Codestil geht. Es gibt Überschneidungen mit IntelliJ bei der Benennung und einige schlechte Praktiken, aber das ist es.
  • PMD Regeln sind denen von IntelliJ sehr ähnlich. Beide Tools zielen hauptsächlich darauf ab, typische Fehler oder schlechte Praktiken zu erkennen. Sie werden dennoch einige einzigartige nützliche PMD-Regeln finden, nur einige zufällige Beispiele: BigIntegerInstantiation , CommentDefaultAccessModifier , SingletonClassReturningNewInstance .
  • Ich würde nie von FindBugs zugunsten eines anderen Tools zurücktreten. FindBugs konzentriert sich nur auf die Suche nach echten Fehlern im Code mit einer niedrigen Rate von falsch-positiven Ergebnissen. Normalerweise benötigt es keine Konfiguration - aktivieren Sie einfach alle Regeln und schlafen Sie sicher. Natürlich gibt es Überschneidungen mit IntelliJ, aber je mehr Fehler entdeckt werden, desto besser.

IntelliJ IDEA Inspektionen sind ein großartiges Werkzeug, da sie viele einzigartige und zuverlässige Regeln enthalten. Und es ist nicht nur Java - Sie können sofort Probleme in XML, Eigenschaften, SQL, Spring, HTML, CSS usw. erkennen. Sie erfordern jedoch viel Konfiguration und die Auswahl eines richtigen Regelsatzes. Wenn Sie alle Regeln aktivieren, werden bei jedem größeren Projekt Hunderttausende von Verstößen gemeldet. Und es ist schwer, diese Inspektionen in Maven oder Gradle Build einzubetten, so dass sich das Projekt selbst validiert.

Ich empfehle, all dieser Tools zu verwenden, da jede von ihnen mindestens ein Dutzend (manchmal Dutzende) nützlicher Prüfungen enthält, die nirgendwo anders verfügbar sind.

>     
Michal Kordas 06.12.2015, 22:25
quelle