Недавно присоединившись к проекту с огромным количеством кода, с которым можно разобраться, я хотел бы начать документировать и визуализировать некоторые потоки через граф вызовов, чтобы лучше понять, как все сочетается. Вот что я хотел бы видеть в своем идеальном инструменте:
- каждый узел - это функция / метод
- узлы подключены, если одна функция может вызывать другую
- необязательное квадратное поле между условиями детализации, при которых выполняется вызов (или значок метки, на который можно навести курсор как всплывающая подсказка)
- также значок на ребре, описывающий параметры
- наведите курсор на узел и отобразится описание
- дополнительные значки для узла для отображения псевдокода
- сценарий / представление домена - отображение подмножества полной диаграммы для конкретного варианта использования
- режим просмотра слайдов - для каждого кадра текущая выполняемая функция подсвечивается
- множество опций для отображения, чтобы уменьшить беспорядок на экране
интерактивное использование такого инструмента является ключевым, я не ищу решение типа Graphviz, потому что было бы слишком много беспорядка. Способность сформировать представление подмножества всего графа была бы очень удобной (возможно, с неважным беспорядочным затенением). Не требует автоматической генерации из исходного кода, рад ввести его вручную.
Почти как карта ума.
Это имеет смысл? Если вы не знаете о таком инструменте, думаете ли вы, что он будет полезен? (На случай, если я решу пойти и почесать этот зуд однажды!)