2009-11-25 25 views
13

Estoy buscando una herramienta diff que me permita comparar solo una subsección de un archivo con una sección de otro archivo, o incluso de sí mismo. Preferiblemente basado en eclipse pero tomará todas las sugerencias.Herramienta Diff que puede comparar subsecciones de archivos

Sí, sé que puedo copiar las dos secciones en diferentes archivos y compararlos, pero eso es muy tedioso cuando intenta hacer una gran cantidad de refactorización.

Básicamente estoy tratando de eliminar tanto código duplicado como sea posible de una base de código que está sufriendo de una gran cantidad de 'herencia' ctrl-V ;-) Sin embargo, las partes pegadas se han separado un poco con el tiempo.

+0

+1 de mí - Siempre tomo 3 o 4 líneas de * algo * (un código de error, algo de xml, un GUID, etc.) y trato de compararlo con otra cosa. Ponerlos en 2 archivos funciona, pero es un dolor. – Justin

+1

Gracias por todas las sugerencias de los buscadores de tontos, los revisé. Encontré un complemento que usa simian en eclipse. El problema no es realmente encontrar los incautos. Ya sé dónde están la mayoría de los incautos. Es el punto en el que necesitas descubrir cómo resolver las trampas que es donde estoy actualmente ... por lo que necesito diferir las secciones directamente. – EvilPuppetMaster

+0

@EvilPuppetMaster: Sí, no es el hallazgo sino la diferencia la clave. Lo pregunté como [pregunta similar] (http://stackoverflow.com/questions/2818082/how-to-diff-two-regions-of-the-same-file-in-eclipse). Voy a investigar a Atomiq. – thoni56

Respuesta

1

CheckStyle está muy bien integrado con Eclipse y hará el trabajo. Se le notificará a usted y error/advertencia si se duplica el código, ¿Cuántas veces ... etc ...

http://eclipse-cs.sourceforge.net/

kdiff3 sería la otra opción. No Eclipse integrado, pero una muy buena herramienta libre, multiplataforma para fusionar, comparar archivos, etc.

0

Ver SD CloneDR, una herramienta que detecta clones exactos y casi de acuerdo con la sintaxis del lenguaje, para un gran número de idiomas (Java, C#, PHP, C++, C, COBOL, Ada, ...). Se está preparando una API de Eclipse en este momento, y es probable que esté disponible el 1 de enero de 2010.

3

Pruebe usar Diffuse. Simplemente pegue las dos subsecciones que desea comparar en paneles separados y presione CTRL-L para realinearlos. También puede cargar los archivos y ajustar manualmente la alineación para que coincida con las subsecciones de interés.

2

Dos dos herramientas que he usado para eliminar el código duplicado son Simian y CopyPasteKiller. Ambos son útiles, aunque IMO CopyPasteKiller es un poco más fácil de empezar. Parece que hay un Eclipse plugin para Simian, aunque yo no lo he usado.

+0

CopyPasteKiller ha cambiado de nombre a Atomiq (http://www.getatomiq.com) – viggity

4

He estado jugando con Atomiq, que encuentra duplicados en un solo archivo. Hasta ahora, parece ser una herramienta decente.

+1

Atomiq tiene un sitio web oficial que ahora tiene mucha más información: http://www.getatomiq.com – viggity

Cuestiones relacionadas