2010-02-15 13 views
13

Desidero avere un'idea rapida della quantità di codice "copia e incolla" che abbiamo, ci sono molti strumenti per C#/Java per verificare questo tipo di cose. Esistono strumenti che funzionano bene con VB.NET?Eventuali strumenti per verificare la presenza di codice VB.NET duplicato?

(ho visto quello che sembra un sacco di codice ripetuto, ma desiderano ottenere qualche numero per aiutarmi a fare un caso per l'ordinamento fuori)


Aggiornamento sui progressi compiuti.

Ho appena provato Simian.

Clone Doctor non supporta VB.NET (solo C# e VB 6 e molti altri)
Ottobre 2010: VB.net aggiunto linguaggi supportati da CloneDR

Clone Detective for Visual Studio supporta solo C#

SolidSDD - Source Code Duplication Detector supporta solo C, C++, C# e Java

DuplicateFinder è open source, ma per il resto sembra molto incontro Li ke Simian, ad esempio solo funziona su linee di testo

ConQAT - Continuous Quality Assessment Toolkitseems to have a clone detector that works for VB.NET (non ancora provato)

Gendarme è un po 'come FxCop e ha una regola AvoidCodeDuplicatedInSameClassRule, questo sembra molto promettente, in quanto evita il problema della lavorando a livello di testo. Ho appena provato, è la soluzione migliore finora, peccato che non cerchi con un ambito più ampio.


Prima sostenendo che questa domanda è un duplicato, si prega di verificare che l'altra domanda si rivolge VB.NET, come un sacco di strumenti che funzionano bene per C# non funzionano così bene per VB.NET. (Comunque non mi sorprenderebbe se questa domanda è un vero e proprio duplicato)

+0

Questa domanda è utile? http://stackoverflow.com/questions/758126/what-are-good-tools-for-identifying-potentially-duplicated-code-for-c-express-us – Shoban

+2

@Shoban il problema è che la maggior parte degli strumenti che funzionano per C# non surportare bene VB.NET. –

risposta

-1

Vedere la domanda per gli strumenti che ho trovato.

+5

Invece di puntare alla tua domanda, dovresti scrivere i risultati in questa risposta. Sarebbe meno confuso considerando il modo in cui questo sito web viene solitamente utilizzato. – Matthieu

+0

Sono assolutamente d'accordo con @Matthieu ... questa è una DOMANDA e poi il sito di RISPOSTA. – alcor

0

Prova Simian:

Simian (somiglianza Analyzer) identifica la duplicazione in Java, C#, C, C++ , COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, codice sorgente Groovy e persino file di testo.

1

[Sono l'autore di CloneDR ("Clone Doctor").]

CloneDR è parametrizzato da una grammatica completa per il linguaggio di programmazione in questione. Quindi non si abbina solo alle linee.Piuttosto, può trovare cloni che sono sintatticamente ben formati, con variazioni che vanno oltre le semplici modifiche dell'identificatore, indipendentemente da dove si fermano o iniziano in una linea.

Il motore su cui poggia CloneDR, The DMS Software Reengineering Toolkit" è uno strumento per l'analisi di sistemi su larga scala in qualsiasi linguaggio di programmazione e utilizza descrizioni di linguaggio per guidare l'analisi. DMS ha una vasta gamma di front end linguistici già disponibili.

Attualmente ha VBScript e VB6 (come dialetti di "Visual Basic"). Non ha VB.net, ma sarebbe abbastanza semplice da fare, data l'infrastruttura DMS e la nostra esperienza con molti altri linguaggi.

Quindi, CloneDR potrebbe farlo bene, con un piccolo sforzo da parte nostra.

EDIT Ottobre 2010: VB.net aggiunto come lingua che CloneDR può elaborare.

0

Una volta ho visto una demo impressionante di Pattern Insight; il suo CP Miner può essere quello che stai cercando: http://patterninsight.com/products/cp-miner.php. Sembra essere indipendente dalla lingua, sebbene non sia stato possibile trovare nulla di esplicito riguardo alle lingue diverse da C/C++.

1

Atomiq supporta vb.net tra le altre lingue e i risultati sono ben presentati.

3

CodeRush 11.2 ha introdotto una nuova funzionalità denominata Duplicate Detection and Consolidation (DDC)

http://community.devexpress.com/blogs/markmiller/archive/2011/11/29/duplicate-detection-and-consolidation-in-coderush-for-visual-studio.aspx

Assicuratevi di controllare le opzioni per esso pure, come si può avere eseguito quando così tante linee sono cambiato, certamente il tempo è passato, ecc.

Hanno pubblicato alcuni video decenti anche sul sito DevExpress.

1

JetBrains ha pubblicato il set di strumenti della console Resharper Console Tools per eseguire l'analisi della duplicazione. Una volta installato, consente di eseguire la stessa analisi eseguita da TeamCity e generare report di duplicati localmente e include anche la ricerca di duplicati nel processo di creazione personalizzato con MSBuild. Questo strumento fa esattamente ciò di cui hai bisogno. Maggiori dettagli si possono trovare qui su JetBrains blog post

+0

Benvenuti in Stack Overflow! Sebbene questo link possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. Vedi [Come scrivere una buona risposta] (http://stackoverflow.com/help/how-to-answer). – ByteHamster

Problemi correlati