Estoy comenzando con Python (ya es hora de que lo intente) y estoy buscando algunas de las mejores prácticas.
Mi primer proyecto es una cola que ejecuta experimentos de línea de comandos en varios subprocesos. Estoy empezando a tener un main.py
archivo muy largo y me gustaría dividirlo. En general, estoy buscando: ¿Cómo organizan los programadores de Python múltiples archivos fuente? ¿Existe una estructura en particular que funcione para usted?
Mis preguntas específicas incluyen:
- ¿Debería estar cada clase en un archivo separado?
- ¿Cómo debo organizar las pruebas unitarias relativas al código fuente?
- ¿Dónde debo colocar los comentarios de documentos, específicamente aquellos para la operación de línea de comandos?
- Si utilizo varios directorios, ¿cómo importo clases entre ellos?
Probablemente pueda sacar algunas de mis propias conclusiones aquí por ensayo y error, pero prefiero comenzar con algo bueno .
python
unit-testing
code-organization
Andrés Jaan Tack
fuente
fuente
Respuestas:
El artículo que Eric señaló es asombroso porque cubre detalles de la organización de grandes bases de código Python.
Si ha llegado aquí desde Google y está tratando de averiguar cómo dividir un archivo fuente grande en varios archivos más manejables, resumiré el proceso brevemente.
Suponga que actualmente tiene todo en un archivo llamado
main.py
:utils.py
para este ejemplo)main.py
enutils.py
main.py
añadir una sola línea en la parte superior:import utils
Conceptualmente, lo que hace es crear un nuevo módulo llamado
utils
en otro archivo fuente. Luego puede importarlo donde sea necesario.fuente
La forma en que debe organizar su código y las pruebas es exactamente la misma que lo haría para cualquier lenguaje OO.
Respuestas de la forma en que lo hago. Puede que no esté bien, pero funciona para mí.
__init__.py
archivos relevantes estén en las carpetas. es solo un simple caso defrom module import class
fuente