Pregunta

Estoy analizando algunos código heredado. Se trata de 80.000 líneas de código plsql de edad. En un aspecto puño no es absolutamente cierta duplicación en la fuente que debe ser eliminado. En lugar de hacer del manual de diferencias y mirando a cada archivo que debe haber alguna herramienta / comandos CONFU por ahí para detectar las líneas duplicadas de código fuente.

Mi objetivo es hacer una conjetura sobre el tamaño mínimo de una reescritura de la fuente y sobre la cantidad de conocimiento real es capturado en este programa. Escribí algunos un analizador de código estático básica para encontrar la cantidad de sentencias de control IF ELSE PARA etc y funciones de cada archivo. Pero código duplicado todavía tiene que ser retirado de mis estadísticas.

¿Fue útil?

Solución

¿Has mirado en Simian - Similitud Analizador ? (Sólo comprobado y que ya no es libre, pero está disponible por un periodo de 15 días para fines de evaluación.)

Simian (Similitud Analyzer) identifica la duplicación en Java, C #, C, C ++, COBOL, Ruby, JSP, ASP, HTML, XML, código fuente de Visual Basic, Groovy y incluso archivos de texto sin formato. De hecho, de los simios puede ser utilizado en cualquier legible por humanos archivos tales como archivos ini, el despliegue descriptores, lo que sea.

Lo he utilizado en la práctica y lo hace bien el trabajo.

Otros consejos

Sonar tiene detección de duplicación y las reclamaciones para apoyar PL / SQL, aunque nunca he utilizado para ese .

Se necesitaría BEG / préstamo / robar / escribir un analizador plsql y comparar los árboles de sintaxis abstracta resultantes. Con el tamaño de la base de código que tiene, que podría valer la pena. Habría otros usos para el analizador vez que haya terminado.

¿Qué tal esto:

http://sourceforge.net/projects/sddforeclipse/

Es de código abierto, y se dice que es utilizado por el software comercial. Es un plugin para Eclipse, por cierto.

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