Best formats to visually represent large codebases
Hi r/AskProgramming
I recently got a job in a firmware team writing C++. I joined at the tail end of a big project and have been mainly tackling bugs (either directly or when trying to implement new features).
This codebase uses a lot of asynchronous programming and has layers upon layers of state machines all interacting with each other. We have teams in different countries contributing and share modules with other projects. It seems to be a common issue that keeping track of the dependencies and behaviour is getting more and more tedious.
I been tasked with creating an internal tool that can visually represent the codebase to assist devs in ramping up when tackling a new issue.
I’m looking for advice on what formats are best for representing this information. I am currently planning to generate flow and sequence diagrams but was wondering if there were any way to holistically integrate all these discrete diagrams into a larger overview that can be explored easily.
Also suggestions for how to store this information in the intermediate phases would be greatly appreciated.
I will have to rely on coding agents to both explore the codebase and generate the diagrams. Hopefully splitting this task into phases will limit hallucination.
TLDR Any suggestions for how to visually represent a large codebase holistically so that it can be a starting point for dev work?