Hi everyone,
I’m curious about how other ROS 2 developers approach understanding a large or unfamiliar workspace.
When joining an existing project or reviewing a large codebase, I often find myself asking questions like:
- Which packages depend on each other?
- Which nodes communicate together?
- What topics, services, and actions are used?
- Are there isolated nodes or communication issues?
- Does the implementation still match the intended architecture?
- How do you quickly get a high-level understanding before running the system?
I’m interested in learning about your workflow.
For example:
- Which tools do you use?
- Do you rely mostly on runtime tools such as
rqt_graph, Foxglove, or RViz? - Do you have internal scripts or documentation that help?
- Do you manually inspect the source code?
- Do you perform any kind of static analysis before launching the system?
- How do you review architectural changes in CI?
I’m particularly interested in workflows for medium-to-large industrial projects where a workspace may contain dozens (or even hundreds) of packages.
Looking forward to hearing how everyone approaches this problem and what has worked well in practice.