Il refactoring consente di effettuare trasformazioni del programma conservandone il comportamento. JDT supporta una serie di trasformazioni descritte nella pubblicazione di Martin Fowler Refactoring: Improving the Design of Existing Code, Addison Wesley 1999.
Durante l'esecuzione del refactoring, è possibile facoltativamente visualizzare un'anteprima di tutte le modifiche sospese risultanti da un comando di refactoring prima di sceglierne definitivamente l'attivazione.
In base al contesto da cui si decide di eseguire il refactoring, sono disponibili diversi comandi per tale funzione.
Elemento |
Comandi di refactoring disponibili |
---|---|
Pacchetto |
Rinomina |
Unità di compilazione |
Rinomina Sposta in un altro pacchetto |
Tipo |
Rinomina |
Metodo |
Rinomina Rinomina parametri |
Codice |
Estrai metodo |
Se si rinomina un elemento, il supporto per il refactoring del workbench modifica il nome della risorsa selezionata e tutti i riferimenti ad essa.
È possibile rinominare i parametri di un metodo rinominando la dichiarazione del parametro e tutti i riferimenti ai parametri presenti all'interno del corpo del metodo. Utilizzare il comando Ridenomina parametri per ridenominare i parametri di un metodo e tutti i riferimenti a tali parametri. Nella pagina di refactoring dei parametri, è possibile fare clic nella colonna Nuovi nomi di parametri sulla riga contenente il parametro che si desidera modificare e immettere un nuovo nome per il parametro.
È possibile spostare un'unità di compilazione in un diverso pacchetto. Le importazioni e i riferimenti vengono automaticamente aggiornati.
Quando si estrae un metodo, il workbench estrae una sezione di codice dal corpo di un metodo esistente e crea un nuovo metodo; inoltre, aggiunge un richiamo dal vecchio metodo al nuovo metodo. Tale funzione è utile per semplificare metodi troppo lunghi o complessi.
È possibile eseguire un refactoring in due diversi modi.
In un refactoring rapido, viene ignorata la notifica di eventuali problemi e non viene effettuata l'anteprima. Se è previsto un problema di interruzione, il refactoring non verrà applicato.
In un refactoring controllato, vengono notificati all'utente i potenziali problemi e si riceve una dettagliata anteprima di ciò che verrà eseguito dall'operazione di refactoring.