http://findbugs.sourceforge.net/bugDescriptions.html contiene un lungo elenco di tipi di errore. Appartengono a una categoria come correttezza e prestazioni, ma iniziano anche con un prefisso. EQ per l'uguaglianza è ovvio, come per SQL o BIT. Ma un po 'criptico. C'è un elenco di cosa significano tutti questi prefissi?Che cosa significano tutti questi prefissi di FindBug per AM, BC, DP, ...?
risposta
Alcuni di essi sono spiegati in un PDF che ho trovato su Google: http://www.cs.colostate.edu/~mstrout/CS653Spring06/Slides/student-01-sandeep-findbugs.pdf (ultima pagina)
Spero che sia OK per citare qui:
Codice Descrizione
- CN Cloneable non implementato correttamente
- DC Double Checked Locking
- DE Dropped Eccezione
- CE Sospetto Equals Confronto
- Eq Bad covariante Definizione degli Eguali
- HE Pari oggetti devono avere pari codici hash
- IS2 incoerente sincronizzazione
- MS Statico campo modificabile attendibile Codice
- NP Pointer Dereference
- Operatore booleano NS senza corto circuito
- OS Aprire flusso
- RCN ridondante confronto su Null
- RR Leggi di ritorno deve essere controllato
- RV Valore di ritorno deve essere controllato
- Se non serializzabile classe Serializable
- UR non inizializzata Leggi nel costruttore
- UW incondizionato Aspetta
- Wa attesa non In loop
C'è un singolo file XML all'interno della base di codici FindBugs che elenca tutti gli avvisi che possono essere generati. Puoi visualizzare questo file nel progetto di codice Google here.
Ecco un estratto dal file:
<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" />
Le descrizioni dettagliate sono memorizzati in un file diverso, che è possibile sfogliare here.
È possibile visualizzare l'elenco di schemi di bug insieme alla descrizione e ad altri metadati in Eclipse: aprire la vista "Bug Explorer" e fare clic sul pulsante "Configura filtri ...". Vedrete una finestra di dialogo in cui tutto ciò che informazioni è ben presentato:
- 1. Cosa significano questi caratteri "\ e6 ##"?
- 2. Cosa significano questi simboli git?
- 3. cosa significano questi operatori (**, ^,%, //)? - Python?
- 4. Che cosa significano questi avvisi di logcat Android?
- 5. Boost.Asio documentazione inesistente. Cosa significano questi errori?
- 6. Cosa significano questi numeri nel payload socket.io?
- 7. Cosa significano questi segni in Vim?
- 8. Cosa significano "\\. \", "\ ?? \", "\\? \", "\\"?
- 9. Che cosa significa "interruzione BC"?
- 10. Che cosa significano tutti i campi per db.part/db?
- 11. Per cosa sono tutti questi file * .FileListAbsolute.txt?
- 12. Che cosa significano i prefissi di una sola lettera nei messaggi di errore di Ruby?
- 13. Qualcuno può spiegare cosa significano questi risultati di ApacheBench?
- 14. Cosa significano questi numeri nel capo di ElasticSearch?
- 15. Cosa significano questi numeri nel logcat di Android?
- 16. Cosa significano questi avvisi mono/xbuild e come posso correggerli?
- 17. Cosa significano questi operatori in Elisir? ~ >>, << ~
- 18. Che cosa significano veramente AspNetCompatibilityRequirements?
- 19. Che cosa significano i campi di GC.stat di Ruby?
- 20. Che cosa significano le icone per i metodi in Eclipse?
- 21. Timeout di HttpWebRequest e ReadWriteTimeout - Cosa significano questi per la connessione TCP sottostante?
- 22. statico, constexpr, const - cosa significano quando tutti usati insieme?
- 23. Che cosa significano le icone in Eclipse?
- 24. Che cosa significano __STDC_LIMIT_MACROS e __STDC_CONSTANT_MACROS?
- 25. Che cosa significano Response.Cache.SetCacheability e Response.Cache.SetAllowResponseInBrowserHistory?
- 26. Che cosa significano vari formati di appunti/trascinamento?
- 27. Che cosa significa "Sei nel mezzo di una sessione am"?
- 28. A cosa servono questi codici?
- 29. Cosa significano i valori per Android: backgroundDimAmount?
- 30. Che cosa significano le colonne nello strumento Oggetto Alloc?
Già. Ma questo non risponde alla domanda originale. Per esempio. cosa significa NP? Si può solo indovinare. –
La descrizione più semplice è che sono un'abbreviazione di diversi tipi di errore.Per trovare cosa significa "NP", guarda il file 'messages.xml' (il secondo link) e dalle descrizioni estese è possibile dedurre cosa significano. Non c'è un vero elenco definitivo AFAIK (quale sarebbe il punto, davvero?) Ma guardando le descrizioni dettagliate si ha una buona idea di ciò che rappresentano. – Grundlefleck