Pregunta

He buscado en Internet desde hace un tiempo y no he podido encontrar ningún Herramientas / Utilidades / módulos libres (o barato) que pueden analizar un conjunto de archivos de Perl (módulos o scripts) y la bandera duplicados o clonados o copiar / pegar el código.

Ahora estoy mejor, pero he usado para copiar y pegar secciones de código por todo el lugar. Me gustaría que limpiar y reparar mi vieja duplicación de código, pero un poco de ayuda de herramientas sería apreciado por lo que no tendrá que pasar por todo mi viejo código con un peine de dientes finos. Además, el reconocimiento manual de este tipo de delito es propenso a errores.

¿Fue útil?

Solución

se envió a tan hace tan sólo unos minutos .

Aquí hay un enlace con algunas herramientas que pueden ser de utilidad.

codificadas de comparación y detección de plagio

Otros consejos

¿Qué quiere decir por código duplicado? Sólo carácter coincidencias exactas o partidos semánticas.

Hay varias herramientas como http://pmd.sourceforge.net/ que puede detectar el código duplicado por coincidencias de cadena, esta herramienta es para java, pero el juego funciona en la fuente de texto sin formato.

Si desea coincidencia semántica, como

sub A
{return 1;}

para que coincida

sub B
{
    return 1;
}

A continuación, usted necesitará algo más: (

He utilizado CCFinder en el pasado para encontrar secciones de código que son duplicados. Funciona bastante bien, pero tiene una interfaz .. interesante. No tiene soporte nativo para Perl, pero tiene una opción de texto plano que debe trabajar para la detección de copiar y pegar al menos. Hay una solución de Windows y Ubuntu - freeware, no de código abierto por desgracia.

Los diseños semánticos hace un producto llamado Clon Dr. que parece ser capaz de analizar un gran número de tipos de lenguaje para las secciones de código clonados. Pero parece que su versión de evaluación gratuita sólo funciona en Java y Cobol.

Simian . Tiene un periodo de evaluación gratuita de 15 días y cuesta cien dólares por una licencia de usuario único. No es compatible con Perl oficialmente, pero sí tratarlos como texto sin formato y los analiza de todos modos. Esta es una utilidad muy rápido! Y muy fácil de usar. El informe generado a partir de esta herramienta es simple y fácil de interpretar. Estoy totalmente apruebo esta herramienta. Ahora sólo tengo que hablar con mi jefe y conseguir que comprar una licencia.

Aquí hay otro sitio web que detalla algunas herramientas de detección de clon:

http://sel.ics.es .osaka-u.ac.jp / cdtools / index-e.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top