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

StackOverflow https://stackoverflow.com/questions/2266978

Вопрос

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

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


Обновленная информация о ходе работы.

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

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

Детектив по клонированию для Visual Studio поддерживает только C#

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

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

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

Жандарм немного похож на FxCop и имеет Избегайте правила avoidcodeduplicatedinsameclass как правило, это выглядит очень многообещающе, так как позволяет избежать проблемы работы на уровне текста. Только что попробовал, это лучшее решение на данный момент, жаль, что оно не выполняет поиск с большим размахом.


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

Это было полезно?

Решение 9

См. вопрос об инструментах, которые я нашел.

Другие советы

CodeRush 11.2 представил новую функцию под названием Обнаружение и консолидация дубликатов (DDC).

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

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

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

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

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

Движок, на котором держится CloneDR, Набор инструментов для реинжиниринга программного обеспечения DMS» это инструмент для анализа крупномасштабных систем на любом языке программирования, который использует описания языка для проведения анализа.DMS уже имеет широкий выбор языковых интерфейсов.

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

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

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

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

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

Пытаться обезьяна:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top