Digamos que tengo que escribir varias bibliotecas pequeñas y medianas para mi empresa.escribiendo bibliotecas de Python: mejores prácticas de estructura, nomenclatura e importación
¿Tiene sentido, de una manera Pythonic, para utilizar el Método de Java y el prefijo de todos ellos con un paquete de alto nivel común (ejem, módulo) como el logro de la siguiente estructura:
mycompany.mylibrary1.moduleA
mycompany.mylibrary1.moduleB.moduleD
mycompany.mylibrary2.moduleC
o es mejor ir simplemente por:
mylibrary1.moduleA
mylibrary1.moduleB.moduleD
mylibrary2.moduleC
veo que la mayoría de las veces se utiliza el segundo método, pero yo estaba buscando una confirmación (o no) que es el camino a seguir.
No he podido encontrar nada al respecto en PEP 008, al lado:
las convenciones de denominación de la biblioteca de Python son un poco de un desastre, así que nunca conseguiré este completamente consistente [...]
y entonces tenemos sólo los módulos y las indicaciones de denominación de la clase, así como el hecho de que las importaciones en relación se desaniman.
El hecho de que las importaciones absolutas son la manera de tomar la decisión de cómo organizar sus bibliotecas es realmente importante (y no estoy aquí para discutir si evitar las importaciones relativas es bueno o malo).
Me gusta el enfoque de Java que namespaces todas sus bibliotecas, pero tengo la impresión de que no es pitónico ... ¿cuál es el camino sugerido a seguir?
PS. Si bien en general las "mejores prácticas" las preguntas se consideran como subjetivas en SO, en Python la existencia del PEP las hace en mi opinión muy objetivas. Aunque la respuesta podría ser ... no hay una mejor práctica para organizar sus bibliotecas ...
¿Alguna vez ha pensado que personas ajenas a la empresa utilicen las bibliotecas? Si lo hace, es más simple hacer que 'mylibrary1'. Si son solo para uso interno,' mycompany.mylibary1' significa que no puede tener más problemas con 'mylibrary1' de otra persona. –