Каковы хорошие инструменты для идентификации потенциально дублированного кода для пользователей C# Express? [закрытый]

Смотрите также на "инструменты для проверки кода VB.NET ?"

мой друг имеет доступ только к экспресс-выпускам Visual Studio, и я пытаюсь помочь ему рефакторинг, чтобы удалить много дублирования.

6 ответов


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


Детектив Клон похоже, что это может сработать для вас. Я не использовал его раньше, но я наткнулся на него на codeplex на этой неделе.


ваш друг должен взглянуть на жандарм, FOSS и кросс-платформенная альтернатива анализу Microsoft FxCop / Code, который является частью проекта Mono. Это включает в себя правила это проверка на дублирование кода.


попробовать Atomiq:

Atomiq Code Similarity Finder является инструментом для разработчиков, чтобы найти и устранить дубликат кода. Он предназначен для разработчиков .NET, но одинаково хорошо работает для разработчиков других языков и даже веб-дизайнеров! Atomiq работает с широким спектром исходного кода:

в настоящее время мы поддерживаем C#, VB.Net, ASPX, Ruby, Python, Java, C, C++, ActionScript и XAML с дополнительными расширениями в ближайшее время. Это совершенство инструмент компаньон для тех, кто обновляет свой код нечасто и не может вспомнить все в нем или для a команда из 2 или более разработчиков, работающих над одним проектом, которые не они все знают, потому что сами не все написали.

исключить подобный код

(и стук головой о стену, которая приходит с ним) Atomiq не просто находит точные совпадения, он находит аналогичный код. Он игнорирует "пух" как пробел, строка содержание, фигурные скобки, комментарии и использование операторов / import, чтобы вы могли найти дубликат кода, который вызывает проблемы. В VB.NET, он также будет игнорировать строки, содержащие только "Далее", "Пока", "Постараюсь", "Если", "Дом", "Конец Вам" и "End Set".


больше как fyi, так как вы упомянули "express edition", вам, возможно, придется искать что-то, что будет работать за пределами VS, так как я не верю, что express editions поддерживают Плагины


смотреть CloneDR, которая работает на многих языках, включая C#.

редактировать октябрь 2010: VB6, VBScript и VB.net добавлено как языки, поддерживаемые CloneDR. Нет никакой конкретной поддержки для MS IDEs, но он работает на простом списке исходных файлов и создает хороший HTML-отчет, поэтому не требуется большая интеграция. См. примеры отчетов по ссылке.