4 ms·
> When working on a large codebase or trying to plan out something like this -- you can't really go off of visual imagery. There's no "picture" of all the ways
by kaashif 5y ago
> When working on a large codebase or trying to plan out something like this -- you can't really go off of visual imagery. There's no "picture" of all the ways that various things in a codebase will interact, design decisions, etc.
Interesting that you feel this way. I definitely do imagine a codebase spatially, and constantly draw diagrams on paper to orient myself. I find those note taking tools like Dendron that do nothing except make a nice graph of your knowledge very useful.
If you make a graph with services or classes as nodes, and edges as calls between them, you can absolutely get a sense of when a codebase or system architecture is spaghetti, and when it's a neatly organised tree with neatly distinguished layers and no cycles.
In fact, surely that's why people call spaghetti code spaghetti - because the call graph looks like a plate of spaghetti and is impossible to untangle.