A continuación presentamos un listado de diez recomendaciones que pueden hacer que nuestros programan en Python mejoren mucho, tanto en legibilidad, testabilidad y portabilidad. 

  1. README.md: Una documentación a nivel de proyecto ayuda a tener una estructura limpia, esto ayuda a todo el equipo en el futuro. Escribir esto en el archivo README.md, es un buen punto para empezar, esto luego se puede expandir en la carpeta docs/ de ser necesario. Incluya el proposito del proyecto, que hay en cada folder, de donde provienen los datos, que archivos son criticos y como se ejecutan los test.
  2. Utilice Docker:  utilizar Docker le permitirá simplificar el despliegue de la aplicación en otros máquinas o realizar el despliegue en algún entorno cloud.
  3. Test: Agrega el archivo test/ y agrega pruebas unitarias. Una de las librerías que se recomiendan utilizar es pytest, un moderno entorno para ejecutar las pruebas. Empezar con un par de test y luego ir continuar mejorando estos. Utilice el coverage para determinar que porcentaje de su código esta cubierto por pruebas.
  4. Test de integración: Si tiene código heredado y carece de pruebas, una actividad de alto valor es agregar algunas «pruebas de integración» que verifiquen el flujo general del proyecto y verifiquen que con ciertos datos de entrada se obtienen resultados de salida específicos.
  5.  Docstrings: Agregue documentación en el código para las funciones, clases y módulos, esto es de gran ayuda. Agregue información de que se espera de la función y un pequeño ejemplo de lo que se espera como salida. Puede revisar el doc-strings de numpy como inspiración.

  1. Refactoring: Si el código se convierte muy largo, como una función extensa que ocupe más de una pantalla, sientase comodo de hacer un refactoring del código y hacerlo más pequeño o reducirlo en funciones más pequeñas. Código más corto es más fácil para hacer pruebas y para darle mantenimiento.
  2. Git: Utiliza una herramienta para el control de versiones, esto le ayudara en momentos que sobre escriba algo crítico. Acostúmbrese a realizar commits frecuentemente y realice el push hacia el repositorio diariamente.
  3. PEP8: Mantenga el estandard de codificación PEP8. Aún mejor, adopte Black como un enlace de control del código previo, para que simplemente reescriba el código estándar por usted. Utilice flake8 para limpiar su código y evitar otros errores.
  4. PipEnv: Crear entornos aislados del sistema operativo les facilitará la vida. Algunos recomendados son Anaconda, otro puede ser pipenv con Docker, ambas son soluciones adecuadas.
  5. Legibilidad: Finalmente recuerde que la legibilidad es más importante que ser inteligente. Los fragmentos cortos de código complejo y dificíl de leer serán difíciles de mantener para usted y sus colegas, por lo que el equipo tendrá miedo de tocar ese código. En su lugar, prefiera escibir una función más larga y más fácil de leer y que este respaldada con documentación útil que muestre lo que devolverá y complemente esto con pruebas unitarias. 

Estas serían algunas de las recomendaciones que se podrían utilizar como buenas prácticas para el desarrollo de aplicaciones con Python, si no las tiene implementadas empiece por implementar las de documentación (README.md y Docstring), estandard PEP8, legibilidad y refactoring, esto lo ayudara tener claridad con el código y minimizar tiempos de mantenimiento. El uso de una herramienta como GIT es fundamental, si no tiene un controlador de versiones, empiece por utilizar uno.

El uso de un entorno virtual es muy familiar en los entornos de desarrollo con Python, lo más probable es que ya lo este utilizando. En cuanto a los test, esto es importante, más se requiere de cierto grado de conocimiento de herramientas como pytest, podría asignar a una persona del equipo como abanderado para ir adoptando esta buena práctica en el desarrollo. Para concluir con la adopción de estas buenas prácticas, finalizaria con Docker.

Este es un orden que podrían adoptar y definir como un framework de trabajo, espero les sea de utilidad, y atento a sus comentarios de la adopción de estas prácticas o si ya las tienen que otras buenas prácticas recomiendan.

Buenas prácticas en Python
Si te gusto, comparte ...Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Etiquetado en:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook