What do you do to understand some code that you didn't write? Or code that you wrote long time ago and don't remember what it does anymore.
Do you have some technique that you go about? Do you analyze the structures first, or the public methods, or do you draw flow charts, etc.? Or do you fire up the debugger and just step through it? Or do you just ad-hoc your way through until you understand it?