http://findbugs.sourceforge.net/bugDescriptions.html contiene una larga lista de tipos de error. Pertenecen a una categoría como la corrección y el rendimiento, pero también comienzan con un prefijo. EQ para la igualdad es obvio, igual que SQL o BIT. Pero algunos crípticos. ¿Hay una lista de lo que significan todos estos prefijos?¿Qué significan todos estos FindBugs con los prefijos AM, BC, DP, ...?
Respuesta
Algunos de ellos se explican en un PDF que encontré en Google: http://www.cs.colostate.edu/~mstrout/CS653Spring06/Slides/student-01-sandeep-findbugs.pdf (última página)
espero que está bien que citar aquí:
Código Descripción
- CN clonable No implementado correctamente
- CC Bloqueo doble controlado
- DE Abandonado Excepción
- CE sospechoso es igual Comparación
- ecuación Malo covariante Definición de Iguales
- HE Igualdad de objetos deben tener la misma hashcodes
- IS2 sincronización inconsistente
- MS Campo estático modificable por código no confiable
- Detención del puntero nulo NP
- Operador booleano NS de cortocircuito
- OS Abrir ruta
- RCN redundante Comparación en Null
- RR Leer retorno debe comprobarse
- RV Valor de retorno se debe comprobar
- se non-serializable clase Serializable
- UR no inicializado Leer en el constructor
- UW incondicional Espera
- Wa espera no en el bucle
Hay un único archivo XML dentro de la base de código FindBugs que enumera todas las alertas que se pueden generar. Puede ver este archivo en el proyecto de código de Google here.
He aquí un extracto del archivo:
<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" />
Las descripciones detalladas se almacenan en un archivo diferente, que se puede navegar here.
Puede ver la lista de patrones de error junto con la descripción y otros metadatos en Eclipse: abra la vista "Bug Explorer" y haga clic en "Configurar filtros ...". Usted verá un cuadro de diálogo en toda esa información está muy bien presentado:
- 1. Google Page Speed: ¿qué significan estos mensajes?
- 2. ¿Qué significan estos formatos en docstring twisted?
- 3. ¿Qué significan estos iconos en Xcode 4?
- 4. ¿Qué significan estos signos en Vim?
- 5. ¿Qué significan estos símbolos de git?
- 6. ¿Qué significan estos caracteres especiales en Java?
- 7. ¿Qué significan los prefijos de una letra en los mensajes de error de Ruby?
- 8. La documentación de Boost.Asio no existe. ¿Qué significan estos errores?
- 9. ¿Qué significan todos estos parámetros cuando se llama a un método web WCF de Anguila JavaScript?
- 10. ¿Qué significan estos iconos de depuración Xcode 4?
- 11. ¿Qué significan estos mensajes de depuración de Spring?
- 12. ¿Puede alguien explicar por qué significan estos resultados de ApacheBench?
- 13. ¿Para qué son todos estos archivos * .FileListAbsolute.txt?
- 14. ¿Qué significan los campos de Ruby's GC.stat?
- 15. ¿Qué significa "ruptura BC" significa?
- 16. ¿Qué significan los colores FireBug DOM?
- 17. ¿Qué significan los iconos para los métodos en Eclipse?
- 18. ¿Qué significan los símbolos en preg_match?
- 19. ¿Qué significan los eventos de perf cache?
- 20. Problemas con los FindBugs excluye el filtro
- 21. ¿Para qué son todos estos archivos de Visual Studio 2005?
- 22. ¿Qué significan los parámetros para CGPathAddCurveToPoint?
- 23. ¿Qué significan los nombres de las variables que comienzan con _?
- 24. ¿Qué significan los números que comienzan con 0 en python?
- 25. ¿Qué significan los diferentes corchetes en Ruby?
- 26. ¿Qué significan los __ en este contexto?
- 27. ¿Qué significan los diversos colores en LogCat?
- 28. ¿Qué significan los valores de Appstats?
- 29. ¿Qué significan los corchetes en x86 asm?
- 30. ¿Qué significan los iconos en Eclipse?
Sí. Pero eso no responde la pregunta original. P.ej. ¿Qué significa NP? Uno solo puede adivinar. –
La descripción más simple es que son una abreviatura de varios tipos de error.Para encontrar lo que significa 'NP', mira el archivo 'messages.xml' (el segundo enlace) y de las descripciones ampliadas es posible inferir lo que significan. No hay una lista real definitiva AFAIK (¿cuál sería el punto realmente?), Pero mirar las descripciones detalladas da una buena idea de lo que representan. – Grundlefleck