Hi,
recently I was given the task to discover a C# solution I have never seen before, and give suggestions on refactoring it. I think I will use NDepend (for the first time ever) to see the overall picture, and also to check a lot of code metrics to figure out what could be refactored. NDepend is pretty good at showing the structure of a project, I think.
My question is a more general one: what do you think is the best way to discover code that you are seeing the first time, and need to understand it's structure? (Unfortunately there is no logical design documentation and the code is poorly commented.)