Визуализация архитектуры кода
Каждый уик-энд я кодирую в личном проекте, который со временем достиг определенной сложности, когда у меня есть последовательности различных функций, которые берут мой вклад, что я сохраняю в некоторых объектах класса, отрубаю его, обрабатываю, а затем, наконец, вывести его.
Поскольку я делаю большие перерывы между сеансами кодирования, я обычно забываю точную структуру моего кода. Поэтому каждый раз, когда у меня появляется ошибка, я должен снова ознакомиться с тем, как входные данные передаются через мой код, как внутри какого-то модуля, который обеспечивает функциональность, все организовано и т.д.
Я не уверен, что это связано с плохой структурой кода моего программного обеспечения или просто присущей сложности.
Есть ли инструмент, который, учитывая исходный код, наглядно показывает мне, как "архитектура" моего кода, то есть как все методы и функции классов работают вместе?
В идеале это также помогло бы мне понять код, который другие люди писали быстрее, чтобы быстро узнать, как взаимодействуют отдельные фрагменты кода.
(Я кодирую в Python с Pycharm, если это поможет вам.)
Ответы
Ответ 1
Я боюсь, что не существует идеального инструмента для всесторонней визуализации архитектуры вашей программы и потока управления, вы должны держать их в голове и сделать свою программную архитектуру чистой, унифицированной и предсказуемой.
Однако есть некоторые инструменты, которые могут вам помочь.
В Pycharm
вы можете:
Существует также модуль pycallgraph2
Python
module, который может создавать визуализации графа вызовов для приложений Python
. (Это поддерживаемая ветвь снятого с производства модуля pycallgraph
Python
module)
И есть Codimension
IDE
, у которого есть Python
функция визуализации кода feature
Ответ 2
Может быть, я опоздал, но я думаю, что нашел другой инструмент, который идеально соответствует этому вопросу: Sourcetrail, который официально поддерживает C/C++/Java/Python в 2019 году. Текст внизу взят из официального документа:
Sourcetrail - это интерактивный источник, который упрощает навигация в существующем исходном коде. Цель Sourcetrail - дать ответы на все ваши вопросы о вашем исходном коде. Sourcetrail сначала индексирует ваш код и собирает данные о его структуре, а затем предоставляет вам простой интерфейс, состоящий из трех интерактивных представлений, каждый играет ключевую роль в получении информации.