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

Можно запустить анализаторы на графах зависимостей в Visual Studio Ultimate, что поможет найти слишком сложный код или код который можно улучшить.Например, можно использовать эти анализаторы для выполнения следующих задач.

Найти код, содержащий

Проверьте эти области, чтобы увидеть является ли

Циклы или циклические зависимостеи

Можно упростить их и проверить, можно ли прервать эти циклы.

Слишком много зависимостей

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

Нет зависимостей

Они необходимы, или требуется удалить этот код.

Запуск анализаторов на графах зависимостей.

  1. Убедитесь, что отображение гарфа задано в виде дерева или Quick ClustersКнопка "Быстрые кластеры" на панели инструментов диаграмм отображения.Дополнительные сведения об изменении отображения графа см. в разделе How to: Browse and Rearrange Dependency Graphs.

  2. Если окно ЛЕГЕНДА не отображается, откройте контекстное меню для схемы, а затем выберите Показать легенду.

  3. В окне ЛЕГЕНДА выберите Добавить, а затем выберите Анализаторы, а затем выберите один из следующих анализаторов.

    Анализатор

    Для определения узлов, которые

    Циклические ссылки

    Содержат циклические зависимости друг от друга

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

    Поиск концентраторов

    Находящихся в первых 25% в высокой степени взаимосвязанных узлов

    Скрыть все остальные узлы на графе

    • Открыть контекстное меню для диаграммы, выберите Выделение, а затем выберите Скрыть невыбранные.

      Все не выбранные узлы графа будут спрятаны, и анализаторы определят новые узлы как концентраторы.

    Узлы без ссылок

    На них не ссылаются другие узлы.

    Предупреждающее замечаниеВнимание
    Проверьте каждый такой случай перед принятием решения о том, что код не используется.Определенные зависимости, такие как зависимости XAML и зависимости времени выполнения, нельзя найти в коде статически.

Анализаторы графа зависимостей продолжают работу после их применения.При изменении графа, все применяемые анализаторы автоматически возобновят обработку обновленного графа.Чтобы остановить выполнение анализатора откройте контекстное меню для анализатора в окне ЛЕГЕНДА, а затем выберите Удалить.

СоветСовет

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

См. также

Основные понятия

Визуализация зависимостей кода на графах зависимостей