La reflexión de Java y el dolor en la refactorización.

Java Reflection proporciona un mecanismo para realizar una introspección de un objeto en tiempo de ejecución. No lo dude, esta es una gran característica, ¡pero rompe todas las convenciones de Refactoring!

No hay una manera fácil (aparte deFile Search) incluso en los IDE modernos para saber a qué atributo se hace referencia y dónde. Esto hace que las refactorizaciones sean mucho más complejas (tediosas!) Y propensas a errores.

Para ser sincero, no es sólo elReflection API; Hibernate mapping files (hbm.xml) yJSP files ambos se refieren a los atributos como Cadena y cuando refactoriza el nombre de su atributo, entonces tiene que cambiar manualmente en todos estos lugares.

Peor aún, los cambios en los archivos de mapeo de Hibernate o los archivos JSP dan como resultado errores de tiempo de ejecución.

Estoy interesado en saber cómo otros programadores manejan esto en Java. ¿Hay algunas herramientas? Uso Eclipse / IBM RAD como plataforma de desarrollo principal. Normalmente usamos unconstant para definir el atributo y utilizarlo siempre que sea posible, pero no siempre es posible.

¡También me interesaría cómo otros idiomas manejan esto!

Respuestas a la pregunta(9)

Su respuesta a la pregunta