2013-12-13 11 views
25

Attualmente sto lavorando su un codice java legacy che è stato scritto quasi senza convenzioni di codifica o pratiche comuni. Spesso mi capita di lavorare su frammenti di codice molto pessimi (errori nei nomi delle variabili, ridondanza e molti altri) che mi trovo a dover risolvere. In una di queste istanze, ho trovato una classe che contiene tre metodi con nomi diversi ma corpi del metodo quasi identici.Modo rapido per confrontare i metodi in IntelliJ

Come da osservazione iniziale, l'unica differenza era il nome di uno dei parametri.

Prima di fare qualsiasi passo e unirli però, volevo fare un confronto tra tre metodi per vedere se c'è qualche sottile differenza che non ho notato.

So che è possibile confrontare due file, confrontare con la versione di VCS ecc. Ma non sono riuscito a trovare un modo rapido per confrontare le definizioni del metodo nello stesso file.

Esiste un modo più pratico per confrontare diverse sezioni dello stesso file in IntelliJ anziché copiarle in file diversi ed eseguire un confronto tra file?

Grazie,

+0

Qualsiasi strumento diff dovrebbe aiutarti a farlo, quale da selezionare è principalmente un argomento soggettivo e probabilmente ci sono tonnellate di domande già fatte su questo argomento su StackOverflow. –

+0

consulta questo http://stackoverflow.com/questions/434766/how-can-i-diff-two-sections-of-the-same-file –

risposta

8

IntelliJ ha Individuare duplicati nell'analisi. È altamente configurabile e sensibile alla lingua al punto che non è solo alla ricerca di blocchi di testo uguali. Sarebbe in grado di rilevare se due blocchi di codice sono uguali, ma con nomi di variabili diversi, ad esempio.

È anche possibile espandere l'ambito in modo che rilevi duplicati di codice in file diversi.

Vedere questa pagina help per ulteriori informazioni.

+4

Vale la pena notare che questo è disponibile solo nella "versione definitiva" a pagamento la "community edition" open-source. (Non che sia eccessivamente costoso - è un ottimo strumento - Mi ci è voluto un po 'per capire perché mi mancava ...) –

56

Un altro modo rapido per confrontare metodi (o qualsiasi blocco di codice) all'interno IntelliJ:

  1. Copia una versione negli Appunti.
  2. Evidenziare l'altra versione.
  3. Utilizzare la funzione "Confronta con appunti" dal menu di scelta rapida nell'editor o da Visualizza> Confronta con Appunti.
+1

Perfetto ... così utile! Grazie! – Daren

+3

Questa dovrebbe essere accettata risposta. – InamTaj

Problemi correlati