Comment by WillAdams
9 months ago
An interesting contrast to it is Ousterhout's observation:
>If you can visualize a system, you can probably implement it in a
>computer program.... This means that the greatest limitation in writing
>software is our ability to understand the systems we are creating.
Though interestingly it is in marked contrast to a different statement in the "Software Design Book" Google mailing list:
>John Ousterhout, Aug 21, 2018, 12:30:15 PM
>I've never felt that graphs are a particularly useful way of describing software structure.
>The interactions between classes end up so complicated that the graph becomes an unreadable mess.
>Also, I'm not sure that the complexity of a graph representation of software correlates with its
>practical complexity (the graph representation might look very complicated, but the software might
>still be pretty easy to maintain).
and I'd be interested if someone knows of a text/video/interview which resolves that twain, or what sort of visualization is advocated for/recommended.
Structure graphs are rarely useful for me, but visualizing the data flow is how I think about code in general. Sometimes it's graph-like, but more wishy-washy and I'm only holding the relevant parts for the task at hand in my head rather than everything.