EDITAR: Me encantaría leer las reacciones al enfoque de AOP de Steve Reed. Comentarios a su respuesta son alentados!Buscando una manera más fácil de escribir declaraciones de impresión de depuración en Java
Soy un novato, y en algún momento me di cuenta de que sería útil conocer el contenido de una variable durante la ejecución del programa. Así que comencé a hacer esto:
EDITAR: solucionado esto. Solía ser: var + ":" + var, que era totalmente erróneo. Tonto tonto.
System.err.println ("var: " + var);
Más tarde me enteré de que esto era una práctica común. Al menos, cuando un depurador no estaba disponible o no deseado.
Puedo usar un editor de texto básico, y escribiendo el comunicado de impresión cada vez que necesito para depurar una variable es bastante tedioso, así que pensé, ¿por qué no algo como esto:
void dbug (Object obj)
{
String variableName = obj.somehowGetVariableName();
String variableContents = obj.toString();
System.out.println (variableName +": " + variableContents);
}
Pero al parecer conseguir la variable nombre es más fácil decirlo que hacerlo.
java-reflection-how-to-get-the-name-of-a-variable
estoy atascado con:
System.err.println ("var: " + var);
O hay una versión abreviada popular de esto?
Solo por curiosidad: "Al menos, cuando un depurador no estaba disponible o no deseado". ¿En qué situación sería esto? ¿Y cuál es el motivo? – Juri
no disponible Entiendo, pero no deseado?!? eso es simplemente negarse a aprender cuán poderosa es una herramienta de depuración real frente a las declaraciones de impresión. – basszero
No disponible cuando aún no tienes un IDE, y no deseado cuando no quieres usar un IDE. El consenso parece ser que un IDE es el único camino a seguir. –