Domanda

Sto cercando di refactificare una classe che ho in 2 classi. Sfortunatamente la funzione di estrazione della classe di eclipse sembra supportare solo le variabili che in realtà non sono poi così utili. C'è un modo per estrarre i metodi o c'è un plugin che lo fa?

È stato utile?

Soluzione

Un'altra soluzione è CTRL C - CTRL V la tua classe in un'altra e inizia a rimuovere ciò che non vuoi. .

È possibile selezionare più elementi nella vista struttura della nuova classe e selezionare Elimina.
Crudo ma efficace.

 alt text
(fonte: eclipse.org )

Altri suggerimenti

Il " Estrai Superclass " il refactoring è molto più utile per questo. Ti consentirà di scegliere i membri e i metodi desiderati, quindi utilizzare " Aggiungi richiesto " per aggiungere tutti i membri della classe necessari per far funzionare i metodi scelti.

In Eclipse 3.7.1 esiste un'opzione per spostare metodi e campi fuori da una classe. Per fare ciò:

  1. Assicurati che la classe di destinazione esista (la classe vuota va bene, purché esista nel progetto).
  2. Nella classe di origine, seleziona i metodi che desideri rimuovere (la vista struttura funziona perfettamente per questo), fai clic destro sulla selezione e scegli Sposta
  3. Seleziona la classe di destinazione nel menu a discesa / Sfoglia

I tuoi membri sono ora estratti. Risolvi eventuali problemi di visibilità (Fonte > Genera vincitori e setter è molto utile per questo) e sei pronto.

In questo momento, ho fatto ricorso all'uso di " copia classe ed elimina metodi " come descritto sopra o utilizzando la classe di estrazione di IntelliJ, che sposta sia i metodi che le classi, anche se in modo errato.

Spero che altri votino per la correzione del bug https: // bugs.eclipse.org/bugs/show_bug.cgi?id=312347. Vorrei davvero che Eclipse avesse una classe di estrazione perfettamente funzionante.

Eclipse (Luna 4.4.0) ora ha " Metodo di estrazione ... " come opzione nel menu contestuale Refactor.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top