Rilevare codice duplicato con Duplo e Simian

Uno dei fattori del Code Smell è senza dubbio la duplicazione del codice; rilevando ed eliminando il codice duplicato si aumenta la qualità del codice. In progetti di medie e grande dimensioni tenere sotto controllo il codice duplicato può rivelarsi complicato, soprattuto se molte persone hanno contribuito alla sua stesura; ci vengono in aiuto due applicazioni pensate per l’individuazione automatica del codice, Duplo e Simian, con le quali possiamo assicurare che il nostro codice aderisca ai precetti DRY.

Simian (Similarity Analyser) può essere eseguito su piattaforma .NET e Java ed è in grado di analizzare codice scritto in Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy. Seppur con qualche limitazione, è possibile analizzare anche codice sorgente in altri linguaggi e addirittura testo semplice. Quello che colpisce di più di Simian è senza dubbio la velocità di analisi mentre per l’accuratezza deve essere svolto ancora del lavoro relativamente ai linguaggi. Per utilizzare Simian è necessario procurarsi una delle licenze disponibili che vanno da quella gratuito per l’utilizzo per progetti personali fino a quella Enterprise.

Duplo è invece un progetto Open Source che permette l’analisi di codice scritto in Java e C++. Se la licenza Open Source è un punto a favore di questo progetto, la totale assenza di supporto per linguaggi quali C# e Ruby escludono il suo utilizzo per molti progetti.Per un approfondimento dulle tecniche di identificazione del codice duplicato segnaliamo A Language Independent Approach for Detecting Duplicated Code di Stéphane Ducasse, Matthias Rieger e Serge Demeyer.

28 Settembre 2008
Categorie: Soluzioni

AddThis Social Bookmark Button

Articoli simili

Commenti

Comments are closed.