Después de escribir algunas aplicaciones appengine de python, me encuentro dividido entre dos enfoques para organizar mi árbol de códigos fuente: ancho o profundo.árboles de códigos fuente: anchos o profundos
Para ser más concretos, considere una aplicación interna para una pequeña tienda de consultoría para administrar las operaciones comerciales, como la administración de contactos, el seguimiento de proyectos & informes y la administración de empleados. La aplicación podría usar entidades clave como: empresa, usuarios, contactos, clientes, proyectos, partes de horas, etc. Sin entrar en detalles, uno puede imaginar que estos modelos son transversales a través de las funciones del sitio web. Esto probablemente significa que hay un acoplamiento.
En este ejemplo, es preferible organizar en una manera profunda, por ejemplo:
models/
people.py
accounting.py
projects.py
foo.py
controllers/
reporting.py
employeeops.py
accounting.py
crm.py
views/
...
o una amplia-manera, por ejemplo, por "aplicación":
people/
models/
views/
controllers/
contact-mgmt/
models/
views/
controllers/
time-tracking/
models/
views/
controllers/
project-reporting/
models/
views/
controllers/
sé todo diseño implica compensaciones, por lo que al responder puede indicar su preferencia y algún razonamiento (por ejemplo, suposiciones, preocupaciones de modulación, límites de estructura, problemas de escalabilidad, consideraciones de mantenimiento de código, impacto de la estructura del equipo de desarrollo, etc.).
No llamaría a ninguna de esas opciones "amplia" o "profunda", ya que terminaría con dos niveles de anidación, en cualquier caso. –