Знаете ли вы, как… Бороться с клонированием кода в Visual Studio 2012?

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

Все знают, что «копи-паст» - это зло. Растиражированные фрагменты кода значительно затрудняют его поддержку и повышают шансы на то, что исправленная сегодня ошибка, завтра проявит себя в совершенно другом месте. Тем не менее, многие проекты, особенно с длительной историей разработки, грешат этим.

В Visual Studio 2012 появился новый инструмент, позволяющий автоматизировать поиск и ре-факторинг функций-клонов в C# и VB коде. Вы можете проверить участок кода или же все решение.

Для поиска клонов по участку кода:

  • Выделите фрагмент кода внутри метода или get/set инструкции.
  • Вызовите контекстное меню и выберите пункт “Find matching clones in solution”.

Для поиска клонов внутри решения:

  • В меню “Analyze” выберите пункт “Analyze Solution for Code Clones”.

Для сравнения найденных клонов:

  • В окне результата поиска клонов выберите интересующие вас строки.
  • Вызовите контекстное меню и выберите пункт “Compare”.

IC527163

Обратите внимание, что клоны в объявлениях методов, полей, свойств и т.п. обнаруживаться не будут. Кроме того, клоны, содержащие более 10 объявлений, также не будут найдены.

Полную информацию о данном функционале вы можете найти на сайте MSDN.