How to visualize code?

Posted by gablin on Programmers See other posts from Programmers or by gablin
Published on 2010-10-05T20:59:55Z Indexed on 2012/07/06 15:23 UTC
Read the original article Hit count: 217

Filed under:

I've mostly only had to read my own code. As such, I've had no need to visualize the code as I already know how each and every class and module communicate with one another.

But the few times I've had to read someone else's code - let us now assume we are talking about at least one larger module which contains several internal classes - I've almost always found myself wishing "This would have been so much easier to understand if I could just visualize it!"

So what are the common methods or tools for enabling this? Which do you use, and why do you prefer them over the others? I've heard stuff like UML, module and class diagrams, but I imagine there are more. Furthermore, any of these is most likely better than anything I can devise on my own.

EDIT: For those who answer with "Use pen and paper and just draw it": This isn't very helpful unless you explain this further. What exactly am I supposed to draw? A box for each class? Should I include the public methods? What about its fields? How should I draw connections that explain how one class uses another? What about modules? What if the language isn't object-oriented but functional or logical, or even just imperative (C, for instance)? What about global variables and functions? Is there an already-standardized way of drawing this, or do I need to think up of a method of my own? You get the drift.

© Programmers or respective owner

Related posts about programming-practices