Autor Thema: checkstyle, pmd, findbugs, benutzt das jemand? Bringt das was?  (Gelesen 3094 mal)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Hi,

ich benutz jetzt checkstyle konsequent. All diese Tools scannen meinen Source code für Stilblüten, Unsauberkeiten und zeigen z.T. auch Verbesserungen auf. Alle sind openSource und es gibt sie auch als Eclipse-plugins. Sie sagen natürlich wenig über das OO-Design der Anwendungen. Nur eben ein paar Hinweise.
Vorallem kann man damit wirklich effektiv code conventions durchsetzen.
Wenn ich 2 Tage durchprogrammiere und dann checkstyle einklinke, hat der ca. 500 Warnungen. Hört sich nach viel an, aber 40% sind finals die quasi überall gesetzt werden sollten und 50% fehlende JavaDoc Kommentare. Überleg mir die Regel, die fehlende finals anmeckert ganz zu deaktivieren. Theoretisch bin ich dafür, aber ich hab noch kein funktionierende make-final-where-possible Eclipse plug-in gefunden (vielleicht sollte ich das selber machen). So lange ist es schon ein bischen langweilig jeden Tag ca. 200 mal  final zu tippen.
Da ich z.T. Notes Agenten programmiere, hab ich die RegEx für Method Conventions im Namen von Lotus Notes in meiner checkstyle  config geändert: ^([a-z][a-zA-Z0-9]*)|(NotesMain)$  ;D . Die Methode NotesMain von AgentBase verstösst gegen die zu 99% verbreitete Konvention in Java, dass Methodennamen immer mit einem Kleinbuchstaben beginnen.
PMD geht noch ein paar Schritte weiter und meckert weitere Sachen an. Da sind aber auch false positives dabei. Durchaus aber sehr interessant, was das Tool so findet und auch die Begründungen. 

Noch komplexere Metriken zur Analyse des Source Codes hat findbugs. Dazu passt offenbar mein Programmierstil gut, weil es kaum was  findet.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Ich habe jetzt gerade in einem neuen Unternehmen angefangen und da wird Findbugs eingesetzt und die Leute dort sagen, dass es schon eine feine Sache ist, auch wenn einige Sachen angezeigt werden, die nicht wirklich schlimm sind. Und man kümmert sich auch bei Gelegenheit, wenn  das betroffene Code-Stück angefasst wird, darum die angemeckerten Sachen zu beseitigen. Was ich in dem Rahmen auch für sinnvoll erachte, ist es eine Konvention für die Warnungseinstellungen des Compilers zu haben, wie man es ja auch in Eclipse machen kann. Zumindest wird das bei uns so gemacht.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Hi,

Ich habe jetzt gerade in einem neuen Unternehmen angefangen
viel Glück
Zitat
und da wird Findbugs eingesetzt
vernünftig
Zitat
und die Leute dort sagen, dass es schon eine feine Sache ist, auch wenn einige Sachen angezeigt werden, die nicht wirklich schlimm sind.
Man kann die Regeln bearbeiten und die sinnlosen entfernen oder verändern. Das final Zeugs steht bei mir auf der Abschußliste.  Sind meist regular expression, was jetzt nicht heisst, dass ich besonders  schnell im Denken mit RegEx  bin
Zitat
Und man kümmert sich auch bei Gelegenheit, wenn  das betroffene Code-Stück angefasst wird, darum die angemeckerten Sachen zu beseitigen. Was ich in dem Rahmen auch für sinnvoll erachte, ist es eine Konvention für die Warnungseinstellungen des Compilers zu haben, wie man es ja auch in Eclipse machen kann. Zumindest wird das bei uns so gemacht.
Der code sieht auf jeden Fall schon mal besser aus. Für wirksame gemeinsame Code Konventions ist Codestyle sehr gut. In Arbeitgeber 2 von 3 in den letzten 14 Monaten haben wir das eingeführt. Hier (3 von 3) will ich das einführen, aber die Lage ist ziemlich heterogen. Viel Notes / Javascript / Ajax Programmierung. Microsoft CRM, Websphere Portal Leute draussen und ich mach viel Java inhouse (aber auch Lotus Notes  und JavaScript/Ajax). Hab das jetzt in alle meine Java-Projekte eingeführt. Für die Einführung hat man die 500 oder mehr Warnungen. Später kann man das natürlich direkt beim kompilieren beachten. Als Eclipse Plug-in hängt sich das automatisch an den Java Kompilier Prozess. 
PMD und findbugs sind irgendwie ein bischen philosophischer. Versuchen tiefere Probleme zu entdecken. Interessant und dabei einfach von  Eclipse zu bedienen.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Bei uns wird das nicht von Eclipse aus bedient. Es gibt da einen nächtlichen Build-Prozess, der neben FindBugs noch JUnit-Tests und anderes laufen lässt. Am nächsten Morgen kann man dann die Ergebnisse betrachten. Mit Notes habe ich nur jetzt mittlerweile nichts mehr zu tun...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz