El objetivo de la refactorización de un programa Java es permitir que se hagan cambios en el código a escala del sistema sin que por ello quede afectado el comportamiento del programa. Las herramientas Java proporcionan ayuda para facilitar la refactorización del código.
Las herramientas de refactorización dan soporte a diversas transformaciones, como pueden ser Extraer método, Incorporar variable local, etcétera, descritas por Martin Fowler en su libro Refactoring: Improving the Design of Existing Code, Addison Wesley 1999.
Cuando realice una operación de refactorización, si lo desea puede obtener una vista previa de todos los cambios que se derivan de una acción de refactorización antes de llevarla a cabo. Si obtiene una vista previa de una operación de refactorización, recibirá notificación de los problemas potenciales y se le presentará una lista de los cambios que la acción de refactorización llevará a cabo. Si no obtiene una vista previa de una operación de refactorización, el cambio se realizará en su totalidad y se mostrarán los problemas resultantes. Si se detecta un problema que no permite seguir adelante con la refactorización, la operación se parará y se visualizará una lista de los problemas.
Los mandatos de refactorización están disponibles en los menús contextuales de varias vistas (por ejemplo, Explorador de paquetes, Esquema) y editores. Muchos mandatos "aparentemente sencillos", como los de Mover y Redenominar, son en realidad operaciones de refactorización, ya que las acciones de mover y redenominar elementos Java exigen a menudo realizar cambios en los archivos dependientes.
Las refactorizaciones no pueden realizarse solo interactivamente, pero también a partir de scripts de refactorización. La mayoría de refactorizaciones disponibles en el menú Refactorizar se almacenan en el historial de refactorizaciones del espacio de trabajo para poder utilizarlas después de scripts de de refactorización. Las herramientas de refactorización soportan la creación de scripts de refactorización basados en refactorizaciones en el historial de refactorizaciones del espacio de trabajo. Los scripts de refactorización pueden aplicarse entonces a un espacio de trabajo arbitrario. Al aplicar un script de refactorización se lanza un asistente de refactorización que puede reproducir las refactorizaciones como si las hubiera iniciado el usuario que las creó originalmente.
En relación con los scripts de refactorización, las herramientas de refactorización ofrecen una refactorización para migrar un archivo JAR a una versión nueva, utilizando la información de refactorización para evitar la ruptura de cambios en el espacio de trabajo después de la migración.
Herramientas de desarrollo Java (JDT)
Crear scripts de refactorización
Aplicar scripts de refactorización
Examinar el historial de refactorizaciones
Acciones de refactorización
Asistente de refactorización
Preferencias Java