Есть ли инструменты для проверки дублированного кода VB.NET?

Я хочу быстро почувствовать, сколько у нас кода «копировать и вставлять», есть много инструментов для C # / Java, чтобы проверить такие вещи. Существуют ли такие инструменты, которые хорошо работают с VB.NET?

(Я видел то, что выглядит как много повторяющегося кода, но хочу получить какой-то номер, который поможет мне разобраться в этом)


Обновите информацию о прогрессе.

Я только что попробовал обезьяны.

Clone Doctor не поддерживает VB.NET (только C # и VB 6 и многие другие)
Октябрь 2010 г .: VB.net добавлен к языкам, поддерживаемым CloneDR

Clone Detective для Visual Studio поддерживает только C #

SolidSDD - Детектор дублирования исходного кода поддерживает только C, C ++, C # и Java

DuplicateFinder имеет открытый исходный код, но в остальном выглядит очень похоже, как обезьяний, например, он просто работает со строками текста.

ConQAT - набор инструментов для непрерывной оценки качества похоже, имеет детектор клонов, который работает для VB.NET (еще не пробовал)

Gendarme немного похож на FXCop и имеет AvoidCodeDuplicatedInSameClassRule, это выглядит очень многообещающим, поскольку позволяет избежать проблемы работы на уровне текста. Только что попробовал, пока это лучшее решение, жаль, что поиск не ведется с большим объемом.


Прежде чем утверждать, что этот вопрос повторяется, убедитесь, что другой вопрос касается VB.NET, поскольку многие инструменты, которые хорошо работают для C #, работают не так хорошо. для VB.NET. (Однако меня не удивит, если этот вопрос - настоящий дубликат)


person Community    schedule 15.02.2010    source источник
comment
Помогает ли этот вопрос? stackoverflow.com/questions/758126/   -  person Shoban    schedule 15.02.2010
comment
@Shoban проблема в том, что большинство инструментов, которые работают для C #, плохо превосходят VB.NET.   -  person Ian Ringrose    schedule 15.02.2010


Ответы (9)


CodeRush 11.2 представил новую функцию под названием 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

Обязательно проверьте его параметры, так как вы можете запустить его, когда изменилось так много строк, определенно прошло время и т. Д.

Они также разместили несколько приличных видео на сайте DevExpress.

person Community    schedule 19.12.2011

Симиан: http://www.redhillconsulting.com.au/products/simian/

person Marek    schedule 15.02.2010

[Я автор CloneDR («Доктор клонов»).]

CloneDR параметризован полной грамматикой для рассматриваемого языка программирования. Так что это не просто совпадение строк. Скорее, он может находить клоны, которые синтаксически правильно сформированы, с вариациями, которые представляют собой нечто большее, чем просто изменения идентификатора, независимо от того, где они заканчиваются или начинаются в строке.

Механизм, на котором основан CloneDR, DMS Software Reengineering Toolkit " представляет собой инструмент для анализа крупномасштабных систем на любом языке программирования и использует описания языков для проведения анализа.У DMS уже есть широкий выбор языковых интерфейсов.

В настоящее время он имеет VBScript и VB6 (как диалекты «Visual Basic»). У него нет VB.net, но это было бы довольно просто сделать, учитывая инфраструктуру DMS и наш опыт работы с множеством других языков.

Итак, CloneDR мог сделать это прекрасно, приложив немного усилий с нашей стороны.

ИЗМЕНИТЬ Октябрь 2010 г .: VB.net добавлен в качестве языка, который может обрабатывать CloneDR.

person Community    schedule 16.02.2010

Atomiq поддерживает vb.net среди других языков, и результаты хорошо представлены.

person Community    schedule 18.08.2011

JetBrains опубликовал набор консольных инструментов Resharper Console Tools для запуска дублирования. анализ. После установки он позволяет выполнять тот же анализ, что и TeamCity, и генерировать отчет о дубликатах локально и даже включать поиск дубликатов в настраиваемый процесс сборки с помощью MSBuild. Этот инструмент делает именно то, что вам нужно. Более подробную информацию вы можете найти здесь, на сайте JetBrains сообщение в блоге

person Community    schedule 06.05.2015
comment
Добро пожаловать в Stack Overflow! Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. См. Как написать хороший ответ. - person ByteHamster; 06.05.2015

Попробуйте обезьяний:

Simian (Анализатор подобия) определяет дублирование в Java, C #, C, C ++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, исходный код Groovy и даже в простых текстовых файлах.

person Anton Gogolev    schedule 15.02.2010

Однажды я увидел впечатляющую демонстрацию Pattern Insight; его CP Miner может быть тем, что вы ищете: http://patterninsight.com/products/cp-miner.php. Кажется, это не зависит от языка, хотя я не смог найти ничего явного о других языках, кроме C / C ++.

person Community    schedule 22.10.2010

Закатайте рукава и напишите свой собственный синтаксический анализатор, чтобы использовать его с CPD?

person Community    schedule 17.02.2010
comment
Ваша ссылка не работает. Вот один на Wayback ... рабочая ссылка < / а> - person MicroservicesOnDDD; 10.02.2020

См. Вопрос по найденным мною инструментам.

person Community    schedule 10.03.2010
comment
Вместо того, чтобы указывать на свой вопрос, вы должны написать свои результаты в этом ответе. Это было бы менее запутанно, учитывая то, как обычно используется этот веб-сайт. - person Matthieu; 23.11.2011
comment
Я полностью согласен с @Matthieu ... это ВОПРОС, а затем сайт ОТВЕТА. - person alcor; 28.02.2017