Задание
Реализация системы, позволяющий осуществлять поиск ссылок на методы и классы. (Аналагично тому, как это можно сделать в VisualStudio)

Требование

  • Формирование некоторых структур данных с информацией о ссылках.
  • Возможность визуалзации структуры ссылок. (Некий аналог карты кода)
    Позволяет программно управлять списком ссылок, визуализацией. Игнорировать какие-либо части.
  • !! Возможность построение графов вызовов: цепочки зависимостей методов (данной возможности нет в VisuaStudio)
    По сути это отображение всех возможных стеков вызовов. Позволит увидить цепочки связывающие UI <-> BLL <-> DAL. Видеть всех потребителей данного метода.
    Класс.Функция <- Класс.Функция <- Класс.Функция...
    Например узнать в каких формах используется данный класс DAL: откуда с UI идут вызовы к нему, где можно посмотреть.

Репозиторий:
https://git.denhome.ru/Repository/Detail/adb22340-b319-4aeb-bd1f-ec545f8d7557

Ссылки:
Использование анализа кода для нахождение ссылки на метод
https://stackoverflow.com/questions/31861762/finding-all-references-to-a-method-with-roslyn
Nuget: Microsoft.CodeAnalysis

Возможные аналоги
1) Visual Studio Enterprise: Карта кода
2) NDepend
3) https://stackoverflow.com/questions/996758/do-you-know-any-alternative-to-ndepend-for-architects

Теги: