<<На Главную     <В  Советы по MS Visual Studio

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

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

Ясное дело, что разработчики Visual Studio ну никак не могли не понимать необходимость локализации клонов кода - все мы иногда, бывает случай, злоупотребляем парадигмой Copy/Paste, что уж тут скрывать. Так вот, начиная с версии Visual Studio  2012 (правда в редакциях Enterprise и Ultimate) в функционал для разработчиков были добавлены специальные инструменты для поиска подобных проблемных мест в ваших проектах.

 

 

С точки зрения пользователя Visual Studio обнаружить повторный код довольно просто. Во-первых , это можно сделать через меню Анализ>Анализировать решение на наличие клонов кода:

 

Найти клоны кода в Visual Studio

 

После отработки анализа, функционал поиска клонов выдаст  информацию приблизительно в таком виде :

 

 

 

Как видите (см. рисунок выше),  можно просмотреть не только статистику поиска, но и щелкнув дважды по соотв. записи в окне результатов перейти непосредственно к обнаруженным дублям строк.

Найти повторы можно и непосредственно из редактора. Дл этого просто выделяем интересующий фрагмент  и по пункту Найти совпадающие клоны в решении контекстного меню  ...

 

 

...  в результатах поиска по меню Сравнить

 

 

... есть возможность "глазками" анализировать клоны - благо что они будут расположены рядом :

 

 

Всем успехов в создании изящного, оптимального  кода !

Simashkov.2016

26.11.2016 г.

Назад