Анализ исходного кода
Версия 10.2 от Alexandr Fokin на 2021/11/14 00:18
Задание
Реализация системы, позволяющий осуществлять поиск ссылок на методы и классы. (Аналагично тому, как это можно сделать в 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