http://findbugs.sourceforge.net/bugDescriptions.html enthält eine lange Liste von Fehlertypen. Sie gehören zu einer Kategorie wie Korrektheit und Performance, beginnen aber auch mit einem Präfix. EQ für die Gleichheit ist offensichtlich, genauso wie SQL oder BIT. Aber etwas kryptisch. Gibt es eine Liste, was all diese Präfixe bedeuten?Was bedeuten all diese FindBugs Präfixe AM, BC, DP, ...?
Antwort
in einem PDF Einige von ihnen sind erklärte ich auf Google gefunden: http://www.cs.colostate.edu/~mstrout/CS653Spring06/Slides/student-01-sandeep-findbugs.pdf (letzte Seite)
Ich hoffe, dass es es OK ist, hier zu zitieren:
Code Beschreibung
- CN Cloneable Nicht korrekt implementiert
- DC-Double Checked-Verriegelung
- DE Dropped Ausnahme
- EC Suspicious Vergleich Equals
- Eq Bad Covariant Definition von Equals
- Objekte HE Equal Equal Must Have Hashcodes
- IS2 Uneinheitliche Synchronisation
- MS Statisches Feld Veränderbare von nicht vertrauenswürdigem Code
- NP Nullzeiger-Dereferenz
- Nicht-Kurzschluss-Boolescher Operator
- OS Stream öffnen
- RCN Redundante Vergleich
- RR lesen Zurück auf Null Sollte
- RV Rückgabewert überprüft werden soll
- Se Nicht serializable Serializable Klasse
- UR Uninitialized lesen In Constructor überprüft werden
- UW Unconditional Warten
- Wa Im Loop Warten Sie nicht
Es gibt eine einzelne XML-Datei in der FindBugs-Codebasis, die alle Alerts auflistet, die generiert werden können. Sie können diese Datei im Google-Codeprojekt here anzeigen. Hier
ist ein Auszug aus der Datei:
<BugPattern abbrev="NP" type="NP_GUARANTEED_DEREF" category="CORRECTNESS"/>
<BugPattern abbrev="NP" type="NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH" category="CORRECTNESS"/>
<BugPattern abbrev="OS" type="OS_OPEN_STREAM" category="BAD_PRACTICE" />
<BugPattern abbrev="OS" type="OS_OPEN_STREAM_EXCEPTION_PATH" category="BAD_PRACTICE" />
<BugPattern abbrev="PZLA" type="PZLA_PREFER_ZERO_LENGTH_ARRAYS" category="STYLE" />
Die detaillierten Beschreibungen werden in einer anderen Datei gespeichert, die Sie here durchsuchen können.
Sie können die Liste der Fehlermuster zusammen mit der Beschreibung und anderen Metadaten in Eclipse sehen: Öffnen Sie die "Bug Explorer" -Ansicht und klicken Sie auf "Configure Filters ...". Sie erhalten einen Dialog sehen, wo alles, was info schön präsentiert wird:
- 1. Was bedeuten diese Ausnahmen?
- 2. Was bedeuten diese Aussagen?
- 3. Was bedeuten diese seltsamen Fragezeichen?
- 4. Was bedeuten diese schnellen Codes?
- 5. Was bedeuten diese Anweisungen? (Disassembly)
- 6. Was bedeuten diese Git Symbole?
- 7. Was bedeuten diese C-Operatoren?
- 8. Was bedeuten "\\. \", "\ ?? \", \\? \ ", \\"?
- 9. Was bedeuten die Ein-Buchstaben-Präfixe in Ruby-Fehlermeldungen?
- 10. Was bedeuten diese Pfeile in Eclipse Kepler?
- 11. Was bedeuten diese Android Logcat Warnungen?
- 12. Was bedeutet diese SQL-Anweisung bedeuten
- 13. Was bedeuten diese Zahlen im Pfad?
- 14. Was bedeuten diese Zeilenschlüssel (% S) = @ C_fields?
- 15. Was bedeuten diese Sonderzeichen in Java?
- 16. Was bedeuten diese Zeichen in Vim?
- 17. Was bedeuten diese Zahlen in socket.io Payload?
- 18. Was bedeuten diese Zahlen in Android logcat?
- 19. Was bedeuten diese seltsamen Symbole in js?
- 20. Was bedeuten diese Zahlen in Simulink?
- 21. Was bedeuten diese Fehler im XCode Debugger?
- 22. Was bedeuten diese Kernel-Panic-Fehler?
- 23. Was bedeuten diese Symbole in Python?
- 24. Die Boost.Asio-Dokumentation ist nicht vorhanden. Was bedeuten diese Fehler?
- 25. Dateien beginnend mit Unterstrich am Anfang was bedeuten sie?
- 26. Kann jemand bitte erklären, was diese ApacheBench Ergebnisse bedeuten?
- 27. Was bedeuten F und D am Ende von numerischen Literalen?
- 28. Was bedeuten diese seltsamen Klassennamen in einem Java-Heap-Dump?
- 29. Was bedeutet diese Syntax "declltype (* (T *) (0) ** (U *) (0))" bedeuten?
- 30. Was bedeuten diese Registrierungseinträge für Outlook-Add-Ins?
Ja. Aber das beantwortet die ursprüngliche Frage nicht. Z.B. Was bedeutet NP? Man kann nur raten. –
Die einfachste Beschreibung ist, dass sie eine Abkürzung für mehrere Fehlertypen sind.Um herauszufinden, was "NP" bedeutet, schauen Sie sich die 'messages.xml' Datei an (der zweite Link) und aus den erweiterten Beschreibungen können Sie ableiten, was sie bedeuten. Es gibt keine wirklich definitive Liste AFAIK (was wäre der Sinn, wirklich?), Aber die detaillierten Beschreibungen gibt einen guten Eindruck von dem, wofür sie stehen. – Grundlefleck