Inserisci il tuo indirizzo di posta per ricevere i prossimi articoli gratis:
Servizio gestito tramite Feedburner
Continua la lettura
Articoli recenti
- Perché Google Wave non ha funzionato
- Nuovi iPods, iPhone 5, Bumper in nuova versione e iPad mini: da crederci?
- GoogleCar in vacanza Italia
- Google Chrome: 9 comandi nascosti
- iPad per gli studenti universitari: le prove generali questo autunno
- Tre conquiste dell’umanità di cui non godremo
- A Google Java e C++ vanno stretti
- Rails 3.0: Release candidate
- Android 3.0 fa la sua apparizione non ufficiale
- iPhone 4: venerdì disponibile in altri 17 paesi (Italia compresa)
I più letti

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.
Altri articoli interessanti: