CodeCity tiene una muy buena visualización de una base de código; usa la metáfora de una ciudad que tiene mucho sentido, y resalta los olores del código de forma útil.
ndepend.com es bastante bueno para una visión general.
Atomiq tiene una buena visualización para la duplicación. Analiza su código base y lo visualiza a través de una rueda, donde las duplicaciones están representadas por radios en la rueda y puede desplazarse sobre cada uno para ver la diferencia lado a lado.
Nitriq tiene un buen tipo LinqToCode de cosas para hacer cumplir las restricciones de calidad. Puede ejecutar estas reglas desde la línea de comando como parte de un proceso de compilación.
ReSharper's funciones de navegación son muy valiosos para averiguar lo utiliza lo. Buscar-Usos es terriblemente útil. Para explorar una base de código, Alt + F7 es tu amigo, ya que también mantendrá abierto un historial de consultas que hayas ejecutado, para que puedas avanzar y retroceder para mantener tu lugar.
Visual Studio mantiene un registro de posiciones del cursor/puntos de edición y tiene ctrl + - y Ctrl + Shift + - para mover el cursor hacia atrás y hacia adelante entre estos.
Puede insertar notas a usted mismo si decide un comentario que sea convencional (por ejemplo // NOTA: blah) y luego utilice TODO Explorer de ReSharper para encontrar todos esos comentarios (y otros patrones que pueda definir), luego navegue para ellos Usamos eso para revisiones de código en este momento, por ejemplo.
Visual Studio (al menos, Professional Edition) puede generar un diagrama de clases; seleccione múltiples archivos, y haga clic derecho y luego cree un diagrama de clases. Sin embargo, considero que esto es más útil como un garabato en lugar de un artefacto para mantenerlo actualizado y sincronizado con la base de código, francamente. Te dirá la herencia, pero no mostrará la interfaz de los implementos con mucha claridad, y ni siquiera intentará mostrar las recopilaciones, o compuestas por.
+1 Debería agregar algo más de información a su respuesta y sería mucho mejor :). – Henrik
+1 para NDepender; le mostrará la estructura en cada nivel (conjuntos, clases, métodos o cualquier combinación). –
@Henrik si agregaste más información a tu comentario acerca de cómo podría agregar más información a mi respuesta para mejorarla, sería mucho mejor :) :-P –