Guía de un Científico de Datos para mejorar la calidad del código Python

Guía para mejorar la calidad del código Python en Ciencia de Datos

Herramientas y paquetes para escribir código Python de calidad de producción

Foto de Christopher Gower en Unsplash

Antecedentes

Hoy en día, los científicos de datos están cada vez más involucrados en el lado de producción de implementar un modelo de aprendizaje automático. Esto significa que debemos ser capaces de escribir código Python estándar de producción como nuestros colegas ingenieros de software. En este artículo, quiero repasar algunas de las herramientas y paquetes clave que pueden ayudar en la creación de código de calidad de producción para su próximo modelo.

Linters

Visión general

Linters son una herramienta que detecta pequeños errores, errores de formato y patrones de diseño extraños que pueden provocar problemas en tiempo de ejecución y salidas inesperadas.

En Python, tenemos PEP8 que afortunadamente nos proporciona una guía de estilo global sobre cómo debería lucir nuestro código. Existen numerosos linters en Python que se adhieren a PEP8, sin embargo, mi preferencia es flake8.

Flake8

Flake8 es en realidad una combinación de los paquetes de verificación de errores Pyflakes, pycodestyle y McCabe. Comprueba errores, defectos de código y cumple con los estándares PEP8.

Para instalar flake8, usa pip install flake8 y puedes usarlo con flake8 <nombre_archivo.py>. ¡Es realmente así de simple!

Por ejemplo, supongamos que tenemos la función add_numbers en un archivo flake8_ejemplo.py:

def add_numbers(a,b):    result = a+  b    return resultprint(add_numbers(5, 10))

Para llamar a flake8 en este archivo, ejecutamos flake8 flake8_ejemplo.py y la salida se ve así:

Flake8 ha detectado varios errores de estilo que debemos corregir para cumplir con PEP8.

Consulte aquí para obtener más información sobre flake8 y cómo personalizarlo según sus necesidades.

Formateadores de código

Visión general

Los linters a menudo solo te dicen qué está mal en tu código pero no lo arreglan activamente por ti. Los formateadores sí arreglan tu código y ayudan a agilizar tu flujo de trabajo, aseguran que tu código cumpla con las guías de estilo y lo hacen más legible para otras personas.

isort