2010-02-15 20 views
13

Deseo obtener una idea rápida de la cantidad de codificación de "copiar y pegar" que tenemos, hay muchas herramientas para que C#/Java compruebe este tipo de cosas. ¿Hay alguna herramienta que funcione bien con VB.NET?¿Alguna herramienta para verificar el código duplicado de VB.NET?

(he visto lo que parece ser un montón de código repetido, pero que desean obtener un número que me ayude a hacer un caso para clasificarlos)


actualizada sobre los trabajos.

Acabo de probar Simian.

Clone Doctor no soporta VB.NET (sólo C# y VB 6 y muchas otras)
octubre de 2010: VB.net añadido a langauges apoyados por CloneDR

Clone Detective for Visual Studio sólo es compatible con C#

SolidSDD - Source Code Duplication Detector sólo es compatible con C, C++, C# y Java

DuplicateFinder es de código abierto, pero por lo demás se ve li partido muy ke simio, por ejemplo, que sólo funciona en líneas de texto

ConQAT - Continuous Quality Assessment Toolkitseems to have a clone detector that works for VB.NET (no probado todavía)

Gendarme es un poco como FXCop y tiene una regla AvoidCodeDuplicatedInSameClassRule, esto se ve muy prometedor, ya que evita el problema de la trabajando en el nivel de texto. Acabo de probarlo, es la mejor solución hasta el momento, lástima que no busca con un alcance mayor.


antes de reclamar que esta cuestión es un duplicado, por favor, compruebe que la otra pregunta se refiere a VB.NET, como una gran cantidad de herramientas que funcionan bien para C# no funcionan tan bien para VB.NET. (Sin embargo, no me sorprendería si esta pregunta es un verdadero duplicado)

+0

¿Le puede ayudar la siguiente pregunta? http://stackoverflow.com/questions/758126/what-are-good-tools-for-identifying-potentially-duplicated-code-for-c-express-us – Shoban

+2

@Shoban el problema es que la mayoría de las herramientas que funcionan para C# no surport VB.NET bien. –

Respuesta

-1

Consulte la pregunta sobre las herramientas que encontré.

+5

En lugar de señalar su pregunta, debe escribir sus resultados en esta respuesta. Sería menos confuso considerando la forma en que este sitio web se usa habitualmente. – Matthieu

+0

Estoy totalmente de acuerdo con @Matthieu ... este es un sitio de PREGUNTA y luego RESPUESTA. – alcor

0

Trate Simian:

simio (Similitud Analyzer) identifica la duplicación en Java, C#, C, C++ , COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, código fuente Groovy e incluso archivos de texto sin formato.

1

[yo soy el autor de CloneDR ("Clone Doctor").]

CloneDR está parametrizada por una gramática completa para el lenguaje de programación que se trate. Entonces no solo coincide con líneas.Más bien, puede encontrar clones sintácticamente bien formados, con variaciones que son más que simples cambios de identificador, independientemente de dónde se detengan o comiencen en una línea.

El motor en el que se basa CloneDR, The DMS Software Reengineering Toolkit" es una herramienta para analizar sistemas de gran escala en cualquier lenguaje de programación, y utiliza descripciones de lenguaje para conducir el análisis. DMS tiene una amplia variedad de interfaces disponibles para el idioma.

Actualmente tiene VBScript y VB6 (como dialectos de "Visual Basic"). No tiene VB.net, pero sería bastante sencillo hacerlo dada la infraestructura de DMS y nuestra experiencia con muchos otros idiomas.

Por lo tanto, CloneDR podría hacer esto muy bien, con un pequeño esfuerzo de nuestra parte.

EDITAR Octubre de 2010: agregó VB.net como idioma que CloneDR puede procesar.

0

Una vez vi una demo impresionante de Pattern Insight; su CP Miner puede ser lo que está buscando: http://patterninsight.com/products/cp-miner.php. Parece ser independiente del lenguaje, aunque no pude encontrar nada explícito sobre otros lenguajes además de C/C++.

1

Atomiq es compatible con vb.net entre otros idiomas, y los resultados están muy bien presentados.

3

CodeRush 11,2 introdujo una nueva característica llamada detección de duplicados y Consolidación (DDC)

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

Asegúrese de revisar las opciones para que así, como se puede hacer que se ejecute cuando tantas líneas son cambiado, sin duda ha pasado el tiempo, etc.

Han publicado algunos videos decentes en el sitio DevExpress también.

1

JetBrains publicó el conjunto de herramientas de consola Resharper Console Tools para ejecutar el análisis de duplicación. Una vez instalado, le permite hacer el mismo análisis que TeamCity y generar informes duplicados localmente e incluso incluir búsquedas duplicadas en el proceso de compilación personalizado con MSBuild. Esta herramienta hace exactamente lo que necesita. Puede encontrar más información aquí en JetBrains blog post

+0

¡Bienvenido a Stack Overflow! Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. Consulte [Cómo escribo una buena respuesta] (http://stackoverflow.com/help/how-to-answer). – ByteHamster

Cuestiones relacionadas