2012-04-18 14 views
14

¿Hay alguna biblioteca en python para verificador de código duplicado? Yo uso Python IDE y estoy teniendo problemas para refacturar mi código. ¿Hay alguna biblioteca de Python disponible que sugiera código duplicado en el programa/proyecto?Eliminando código duplicado en python

Actualización: He encontrado excavadora clon que según su sitio,

Hemos probado Clon excavadora sobre las fuentes de varios proyectos de código abierto. Existen los siguientes inconvenientes del formato de informe actual:

Las diferencias se resaltan utilizando el algoritmo diff. Esta manera de resaltar no tiene nada en común con el algoritmo abstracto basado en el árbol de sintaxis para comparar secuencias de declaraciones de similitud.

Los comentarios de clase y función se tienen en cuenta durante el cálculo de la similitud, pero no se presentan en la salida. Por lo tanto, algunos pares de clones pueden verse iguales pero marcados como convergentes.

¿Hay alguna herramienta mejor que esta?

+0

¿Usted intentó googling? – Marcin

+2

@Marcin: Me hubiera alegrado si hubieras proporcionado algo que sugiriera que hay toneladas de esos. Encontré un buscador de clones similar pero no me parece prometedor. –

+0

¿Por qué no parece prometedor? ¿Por qué no has mencionado alguno de los que has encontrado? – Marcin

Respuesta

-11

No, no hay un comprobador de código duplicado, ya que no hay manera de distinguir fácilmente si se ha repetido o no, ya que dependiendo del programa, puede haber dependencias en el código "duplicado" y las cosas pueden sobrescribirse , ect. . En general, no, no hay un duplicador de código que conozco para Python. Sin embargo, el uso de un IDE mejor que rastrea el uso de variables puede ser útil en este caso. :)

+2

Sería bueno tener una biblioteca que pueda, incluso sugerir para la revisión. –

+0

¿Qué significa esta respuesta? Por supuesto, es posible verificar el texto del código python para ver si hay duplicación, como cualquier otro idioma. – Marcin

+0

@Marcin Sé que puedes comprobarlo, sin embargo, el OP está pidiendo una biblioteca para comprobarlo (al menos eso es lo que creo que está tratando de preguntar) –

Cuestiones relacionadas