Анализ исходного кода c#

Редактировал(а) Alexandr Fokin 2023/01/27 00:05

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

Roslyn

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

Возможные аналоги
  1. Visual Studio Enterprise: Карта кода
  2. NDepend
  3. Do you know any alternative to NDepend for architects? [closed]
    https://stackoverflow.com/questions/996758/do-you-know-any-alternative-to-ndepend-for-architects
  
Репозиторийhttps://git.denhome.ru/Repository/Detail/adb22340-b319-4aeb-bd1f-ec545f8d7557
Теги: