2010-04-25 10 views
7

Me encuentro leyendo 10 veces más código que escribiendo. Todos mis IDEs están optimizados para hacerme editar el código, con compleción, ayuda con el código, contornos, etc. Sin embargo, si estoy revisando un proyecto completamente nuevo: entrar en la lógica de la aplicación no está optimizado con estas características IDE. Porque no puedo extender lo que no entiendo completamente.Código de lectura: visualizadores útiles y herramientas del navegador

Si, por ejemplo, echa un vistazo a un proyecto relativamente nuevo, frama-c, se da cuenta de que tiene complementos que ayudan a comprender el "código desconocido": http://frama-c.com/plugins.html - Sin embargo, el proyecto tiene un alcance diferente. De lo que estoy completamente enterado

Estoy buscando algo que haga cosas útiles para leer códigos. Como:

  • proporcionando un gráfico, - ingeniería inversa UML e g,
  • mostrando alcances variables
  • que muestra qué partes se ven afectados por los intentos de modificaciones
  • visualización de la semántica de flujo de datos
  • que muestra la etiqueta. -Listas de funciones muy utilizadas
  • ...

Mi esperanza es que algo así exista. - ¿Hay algunos plugins de Eclipse que no conozco o que hay un navegador de códigos que tiene algunas de estas características?

Respuesta

1

Source Navigator es una herramienta a la vista. Es un poco viejo pero tiene visualización de gráfico de llamadas.

+0

bien ... la visualización del gráfico de llamadas no es exactamente lo que estoy buscando. Eso es más perfilado que una descripción general. – wishi

0

La primera y la cuarta viñeta en su pregunta, juntas describen un 'llamado gráfico'.

Por supuesto, estos son ideales cuando tiene que digerir una gran cantidad de código escrito por otra persona.

Aquí hay un implementation en C++ que incluye la fuente y los documentos. Existen bastantes implementaciones de 'call graphs' (visualización gráfica de llamadas a función); las he encontrado (src + docs) en la Web para una variedad de idiomas. Sin embargo, rodar uno mismo no es difícil. La mayoría (¿todos?) De los scripts de gráficos de llamada que he encontrado se basan en graphviz, que como sabrán es un motor de diseño que utiliza una sintaxis ('punto') muy fácil de aprender para representar gráficos.

También he visto graphviz utilizado para otros fines relacionados con pruebas/diagnósticos; por ejemplo, Gprof2Dot, es un script de python que convierte la salida del generador de perfiles en un archivo de puntos (que luego se puede representar como un gráfico mediante graphviz).

1

Junto con graphviz, Doxygen puede hacer maravillas cuando no hay documentación de diseño de alto nivel.

Cuestiones relacionadas