Я хочу получить быстрое чувство для того, сколько “копия и вставка” кодирование, которое мы имеем, существует много инструментов для C# / Java для проверки на этот тип вещи. Есть ли какие-либо такие инструменты, которые работают хорошо с VB.NET?
(Я видел то, что похоже на большое количество повторного кода, но желание заставить некоторое число помогать мне изложить доводы для того, чтобы уладить его),
Обновление на прогрессе.
Я только что попробовал Человекообразную обезьяну.
Доктор клона не поддерживает VB.NET (только C# и VB 6 и партия другого)
Октябрь 2010: VB.net, добавленный к языкам, поддерживается CloneDR
Клонируйтесь Детектив для Visual Studio только поддерживает C#
SolidSDD - Детектор Дублирования исходного кода только поддерживает C, C++, C# и Java
DuplicateFinder является открытым исходным кодом, но иначе смотрит очень соответствие как Человекообразная обезьяна, например, он просто работает над строками текста
ConQAT - Непрерывный качественный инструментарий оценки кажется, имеет детектор клона, который работает на VB.NET (не попробованный это все же)
Жандарм немного похож на FXCop и сделал, чтобы AvoidCodeDuplicatedInSameClassRule управлял, это выглядит очень перспективным, поскольку он избегает проблемы работы на текстовом уровне. Просто попробованный это, это - лучшее решение до сих пор, жалость, которую это не ищет с большим объемом.
Прежде, чем утверждать, что этим вопросом является дубликат, проверьте, что другой вопрос обращается к VB.NET, поскольку много инструментов, которые работают хорошо на C#, не работает так хорошо на VB.NET. (Однако меня не удивило бы, если этим вопросом является реальный дубликат),
[Я автор CloneDR («Доктор клонов») .]
CloneDR параметризован полной грамматикой для рассматриваемого языка программирования. Так что это не просто совпадение строк.Скорее, он может находить клоны, которые синтаксически правильно сформированы, с вариациями, которые представляют собой нечто большее, чем просто изменения идентификатора, независимо от того, где они заканчиваются или начинаются в строке.
Механизм, на котором основан CloneDR, DMS Software Reengineering Toolkit » - это инструмент для анализа крупномасштабных систем на любом языке программирования, который использует описания языков для проведения анализа. DMS имеет широкий спектр языковые интерфейсы уже доступны.
В настоящее время в нем есть VBScript и VB6 (как диалекты "Visual Basic"). У него нет VB.net, но это было бы довольно просто сделать, учитывая инфраструктуру DMS и наш опыт работы с много других языков.
Итак, CloneDR мог сделать это просто отлично, с небольшими усилиями с нашей стороны.
ИЗМЕНИТЬ Октябрь 2010: VB.net добавлен как язык, который может обрабатывать CloneDR.
{{ 1}}Попробуйте Simian :
Simian (Анализатор сходства) определяет дублирование в Java, C #, C, C ++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Базовый, исходный код Groovy и даже простые текстовые файлы.
Закатайте рукава и напишите свой собственный синтаксический анализатор , чтобы использовать его с CPD ?