2010-06-04 4 views

Respuesta

2

Sólo mi 2 centavos.

Case tools como Enterprise Architect pueden generar diagramas de clases a partir del código python, sin embargo, para el propósito de la comprensión, prefiero modelar groseramente las clases y las relaciones a mano.

Yo también uso UML cuando quiero entender un código nuevo, para obtener una descripción general de las colaboraciones entre clases, y para obtener una vista de herencia de heirachies.

La mayoría de los IDEs tienen medios para explorar el código, pero encuentro que los pequeños diagramas UML cohesivos son más fáciles de digerir y memorizar.

También encuentro que los modelos de dominio son más fáciles de entender cuando están en un diagrama de clases.

1

Si usted está buscando entornos de desarrollo que tienen esa característica, entonces:

  1. Komodo
  2. Pydev for eclipse
+1

¿Te refieres a Pydev Code Analysis? Esto no me parece gráfico –

1

gaphor tiene una función para importar el módulo python y generar diagramas de clase uml, de todos modos no es tan bueno.

De todos modos, las herramientas de análisis de código en python no funcionan muy bien ya que nadie puede "predecir" qué argumentos serán pasados ​​(o devueltos) por funciones, etc. La mayoría de ellos "adivinan" que el tipo pasó.

Con la esperanza de que Python 3 con la "función de anotación" puede resolver este tipo de "problema"

1

Muy buena pregunta! Dependiendo de cuán práctico sea, puede considerar usar el módulo de rastreo en una ejecución de su código.

python -m trace -T yourprogram.py 

Le proporcionaremos la información de who-called-who. Puede analizar esto o escribir algún código que use tracet programáticamente para extraer su gráfico de llamadas.

Una vez hecho esto, un poco de hacking dot, y usted tiene un diagrama. Una vez que haya hecho esto, sería una buena publicación en el blog sobre lo que hizo y cómo funcionó.

0

Si se trata de Django también se puede hacer

./manage.py graph_models 

si está utilizando Django Extensiones de comandos

Cuestiones relacionadas