2009-03-26 18 views
6

Tengo una gran base de código y hay muchos códigos repetidos o casi repetidos en todas partes, es tan desmoralizado como puede ser el código, pero el seguimiento de los "duplicados" es difícil, así que me preguntaba si hay alguna herramientas para encontrar el código DRYable potencial, algo así como una herramienta diff o un analizador de distancia Hamming, no necesitan conocimientos específicos del lenguaje ni nada por el estilo.¿Hay alguna herramienta de DRYer por ahí?

¿Alguna pista como una herramienta como esta?

+0

¿Qué idioma estás buscando? – Brian

+0

Alrededor del 5 idiomas :) –

Respuesta

1

Duplo (código abierto) funciona en C, C++, Java, C# y VB.Net. Lo intenté una vez, y encontró suficiente código duplicado para mantenerme empleado durante mucho tiempo.

He oído hablar de Simian (comercial), pero no lo he probado.

+0

Duplo se ve muy bien, eso es más o menos lo que estaba buscando –

2

Si está trabajando en Ruby, entonces puede intentar this.

+0

Esas son algunas herramientas ingeniosas, yo siempre había considerado algo así como ellos, pero nunca llegó a hacerlo –

1

utilizo Simian en VS. Es bastante bueno, no genial.

1

Clon Dr. partir de diseños semánticos es un producto comercial que encuentra duplicar el código en un gran número de diferentes lenguajes de programación. http://www.semdesigns.com/Products/Clone/index.html

Las grandes empresas pueden permitirse este producto. Individuos ... no tanto. Ojalá hubiera algunos proyectos de código abierto como este. Puede ser un proyecto divertido para trabajar. Si solo supiéramos de una comunidad de programadores con algo de tiempo en sus manos ...

+0

¿Alguna vez? Soy el autor, y he estado trabajando en CloneDR de forma intermitente durante 10 años. –

1

Los diseños semánticos 'CloneDR encuentran clones duplicados exactos y casi casuales basados ​​en la estructura del lenguaje, por lo que no se deja engañar por los cambios de espacio en blanco o saltos de línea, comentarios insertados/cambiados, o incluso nombres de variables modificados.

Aprovecha frontal analizador de producción termina de trabajar con C, C++, C#, Java, COBOL, PHP, Python, Fortran, Ada, ...

Hay una serie de informes de análisis ejemplo Clon en la web sitio para varios idiomas.

Cuestiones relacionadas