2010-12-03 10 views
5

Imagine tal situación. Obtienes algún código heredado o obtienes un nuevo marco. Debe investigar y comprender cómo trabajar con este código lo antes posible. No hay posibilidad de pedir ayuda al desarrollador anterior. ¿Cuáles son las mejores prácticas/métodos/formas/pasos/herramientas (pila preferida de herramientas de .NET Framework) que se utilizarán para obtener la máxima eficacia en la investigación de nuevos códigos en su base de códigos.La mejor manera de explorar/investigar/comprender la jerarquía de clases y el principio de trabajo del nuevo proyecto

Si es un framework y no hay mucha documentación y pruebas de unidades, ¿qué herramientas usas habitualmente para explorar la jerarquía de clases, los métodos y los eventos? ¿Es el Navegador de Objetos por defecto, el Explorador de Arquitectura de MS Visual Studio u otras herramientas como la vista de archivo/jerarquía de Resharper?

+0

debugger ftw !!! – Pabuc

Respuesta

3

Realmente no hay una mejor manera de hacerlo ya que hay muchas variables y cada proyecto es diferente al siguiente.

Para ser absolutamente honesto, la mejor manera de familiarizarse con esto es crear un entorno de ensayo/arena y, a falta de una mejor descripción, jugar con él. Entonces juega con eso un poco más.

Como ejemplo de "jugar con eso", usar depurador y recorrer el código le dirá mucho sobre el flujo y la estructura del código. También vale la pena mencionar que nunca debe confiar en los comentarios, verificar la funcionalidad usted mismo. El código puede haber cambiado desde que se escribió un comentario.

0

Encuentro que generalmente la mejor manera de comenzar con una base de código completamente desconocida es simplemente intentar que se ejecute.

Después de eso, si hay errores que deben abordarse, intente solucionar algunos de ellos.

Eso le dará una idea de lo difícil que es actualizar/mantener el sistema. También debería comenzar a ver patrones de código, o la falta de ellos, emerger.

0

A menudo encuentro que las pruebas unitarias son un buen lugar para comenzar, ¡siempre que haya algunas! Al menos a través de pruebas unitarias, obtienes pequeños ejemplos de cómo funciona y dónde debe fallar. Afortunadamente, también hay documentación acerca de ...

0

En VS2010, hay una herramienta debajo de Architecture que le ayudará a analizar su código base y generar un diagrama de dependencia para usted.

1

La mejor manera de sumergirse en una nueva aplicación con una gran base de código, la mejor solución que he encontrado es obtener una imagen completa de ella a través de la ingeniería inversa en aplicaciones como Enterprise Architect o menos. Si no está disponible para usted, intente con el diagrama de clases provisto por VS.

Hasta ahora puede obtener la definición estática de programa, pero para comprender el flujo de ejecución siga la ruta de ejecución de escenarios principales por las instalaciones que encuentre en Resharper, VS2008 (generar diagramas de secuencia, y ...) y VS2010 (ver jerarquía de llamadas y ...).

Como se ha dicho en las respuestas anteriores depuración y perfilado de aplicaciones también es muy útil, establecer puntos de interrupción, mira a la pila de llamadas, ver los objetos y ....

0
  1. dependencias Comprobar proyecto dentro de una solución. Esto le dará una idea sobre el flujo de proyectos dentro de una solución
  2. Verifique los Dlls externos utilizados en las referencias. Esto le dirá más información sobre cómo se usa el sistema.
  3. Ahora puede hacer suposiciones ahora sobre el flujo de la arquitectura.
  4. A continuación, puede ejecutar la aplicación y Buscar algunos registros que le darán una idea acerca de la clase y el flujo de funciones.
  5. A continuación, puede comenzar con la depuración del código/módulo que se le asignó arriba.

Esto ahora lo pondrá en una mejor posición para realizar cualquier cambio.

Cuestiones relacionadas