Question

J'analyse du code existant. Il est sur les lignes de 80,000 ancien code PLSQL. Sur un coup d'oeil poing il y a un certain double emploi dans la source qui doit être supprimée. Au lieu de faire diff manuel et à la recherche de chaque fichier, il doit y avoir un outil / commandline Confu là pour détecter les lignes en double du code source.

Mon but est de faire une supposition sur la taille minimale d'une ré-écriture de la source et sur la façon dont beaucoup de connaissances réelle est capturée dans ce programme. J'ai écrit quelques-uns un analyseur de code statique de base pour trouver la quantité des instructions de contrôle SI AUTRE POUR etc et fonctions dans chaque fichier. Mais le code dupliquée doit encore être retiré de mes statistiques.

Était-ce utile?

La solution

Avez-vous regardé Simian - Similitude Analyzer ? (Il suffit de vérifier et il est plus libre, mais il est disponible pour une période de 15 jours à des fins d'évaluation.)

  

Simian (Similarity Analyzer)   identifie la duplication en Java, C #, C,   C ++, COBOL, Ruby, JSP, ASP, HTML, XML,   Visual Basic, le code source et Groovy   même des fichiers texte. En fait, simienne   peut être utilisé sur tout lisible par l'homme   tels que des fichiers ini, le déploiement   descripteurs, vous nommez.

Je l'ai utilisé dans la pratique et il le fait bien.

Autres conseils

Sonar a détection de duplication et les revendications pour soutenir PL / SQL, bien que je ne l'ai jamais utilisé pour ce .

Vous auriez besoin de beg / emprunter / voler / écrire un analyseur PLSQL et comparer les arbres de syntaxe abstraite résultant. Avec la taille de la base de code que vous avez, cela pourrait être utile. Il y aurait d'autres utilisations pour l'analyseur une fois que vous avez terminé.

Que diriez-vous ceci:

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

Il est opensource, et dit être utilisé par des logiciels commerciaux. Il est un plugin pour Eclipse, par la manière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top