One of most demanding tasks for any programmer, architect is understanding other\'s code.
For example, I am contractor, hired to rescue some project very quickly. F
The book Object-Oriented Reengineering Patterns deals with this in detail. Unfortunately there is no silver bullet attached :-)
However, it lists a lot of useful techniques for taking over legacy code. In brief