Como ya escribieron otros, solo buscó un marco específico y encontró la estructura de diseño de marcos. Entonces, esto no es nada genérico para Python, solo es genérico para Django.
De hecho, cada proyecto que encuentre tiende a tener su propia estructura. Seguramente, hay algunas similitudes entre la mayoría de las aplicaciones que existen. Por ejemplo, esas son cosas como las convenciones de nomenclatura para carpetas, como ya descubrió.
- bin generalmente significa la carpeta bin ary. El lugar donde se escribirán los binarios compilados.
- db es la carpeta d ata b ase que puede consistir en archivos de configuración de la base de datos, tal vez algunos scripts DB o marcos DB.
- a menudo se hace referencia a conf como una colección de diferentes archivos de configuración, por ejemplo, para el marco con el que está trabajando, para diferentes herramientas que están involucradas, etc.
- probablemente será el lugar donde residen algunos archivos de aplicaciones principales . Algo así como el código fuente base de su aplicación. Pero también he visto muchos proyectos, donde se usó esto en lugar de una carpeta lib ( lib raries) .
- las aplicaciones pueden referirse a algún código generado o tal vez algún tipo de material frontend que no cabe en otra carpeta. Pero esto es muy vago, ya que no es utilizado por todos de la misma manera. Algunos marcos usan esto como la carpeta principal del código fuente.
También hay muchas otras carpetas muy utilizadas que formarán parte de un repositorio de aplicación / código:
- ¿Es un buen salario de $ 110ka en el área de la bahía de SF para un nuevo graduado de MS con dos años de experiencia laboral como ingeniero de software?
- ¿Qué lenguaje o herramientas de programación usan los programadores para hacer modelos 3D de pueblos, ciudades o países que pueden ser manipulados?
- ¿Por qué una clase Java no muestra 'Ejecutar como' -> 'Aplicación Java' en Eclipse IDE cuando los argumentos del método principal son 'int [] args' en lugar de 'String [] args'?
- ¿Es difícil la ingeniería de software?
- ¿Cuál es la mejor herramienta de revisión de código / diferencia para una pequeña empresa?
- lib / libs (como ya se describió)
- src, que es la forma corta de s ou rc ecode
- El proveedor a menudo está relacionado con cosas de terceros (otras librerías, etc.)
- los activos contienen con mayor frecuencia imágenes y componentes estáticos
- las pruebas a veces se usan para pruebas escritas o generadas
Y seguramente hay muchos más ( scripts, init, include, …)
Por lo tanto, esto depende completamente de la aplicación específica o el código fuente con el que está tratando y también su propósito. Una tienda web PHP definitivamente tendrá una estructura completamente diferente que un firmware para un componente de hardware. Y esto tiene mucho sentido, ya que hay conceptos absolutamente diferentes detrás de estas bases de código. Un controlador o firmware para, por ejemplo, una tarjeta gráfica probablemente no necesitará algunos activos de JavaScript, como necesitará una tienda web o cualquier otro sitio web. Por lo tanto, no hay necesidad de usar las mismas estructuras.
Lo bueno aquí es que muchos desarrolladores inteligentes y buenos han establecido algún tipo de patrones, que puedes adoptar y seguir. Pero esas son principalmente recomendaciones y no reglas. Mientras más desarrolladores estén de acuerdo con un patrón común, también conocido como mejores prácticas, más estándares se convertirán en una base sólida para algún tipo de estructura de diseño genérico (que no causará ningún dolor de cabeza para aquellos que no quieren lidiar con este tipo de problemas)
Para nombrar una referencia más grande aquí para un consentimiento sobre algún tipo de estructura de diseño, que es adoptada por una gran comunidad, existe el Estándar de Jerarquía del Sistema de Archivos ( Estándar de Jerarquía del Sistema de Archivos) para sistemas Linux. Esto no es igual a un repositorio de código fuente que encontrará en GitHub, pero la historia detrás de este estándar es bastante interesante y muestra cuán complicado es el proceso de encontrar un estándar común.