Какой термин описывает синтаксический анализ кода (c#) для отслеживания ссылок? - PullRequest
2 голосов
/ 01 августа 2020

Я хочу отследить код C#, и я не уверен в технической терминологии подхода Google.

Представьте, что я хочу понять, какие части моего кода зависят от хранимой процедуры.

Псевдокод:

  • НАЙДИТЕ имя pro c в Visual Studio и получите результат (ы).
  • для каждого результата определите сущность ( константа или метод) результат встречается в.
  • для каждой сущности, следуйте ссылкам (рекурсивно) до хвоста.

Пример:

  • НАЙТИ "UpsertFoo_spr «(результат: строка)
  • Строка существует в« FooRepository.Save () »
  • « FooRepository.Save () »вызывается« FooController.SaveFoo () »и« FooController.ReassignFoo () "
  • " FooController.SaveFoo () "вызывается" [FooDetails.aspx] .Save_OnClick () "
  • " FooController.ReassignFoo () "вызывается" [FooManager. aspx] .Reassign_OnClick () "

Если вы можете просто сказать мне, как это называется, я могу найти решения Google, подходящие для моей компании ntext. Спасибо!

1 Ответ

2 голосов
/ 01 августа 2020

Обычно это называется «Анализ кода» и может иметь различные формы:

  • Анализ кода во время выполнения (анализ трассировки стека или раскрутка исключений)
  • Stati c (исходный код ) анализ кода (анализ исходного кода или абстрактных синтаксических деревьев)
  • Классификация (нотация big-O, классификация алгоритмов и т. д. c)

Последние версии . NET Framework имеет богатую структуру компилятора и анализа кода, известную как . NET Платформа компилятора , часто называемая Roslyn , что упрощает анализ исходного кода. код и даже интегрировать эти анализы в Visual Studio через контекстное меню Quick Fix , рефакторинг, предупреждения компилятора, визуализацию отладчика и т. д. c.

https://docs.microsoft.com/en-us/visualstudio/extensibility/getting-started-with-roslyn-analyzers?view=vs-2019

...