Formateadores automáticos para utilizar en Python

Si escribe código que otros desarrolladores revisan o contribuyen, es probable que ya se esté adhiriendo a una guía de estilo para escribir código. En esta publicación, analizamos los formateadores de código más populares en Python y lo ayudamos a tomar una decisión sobre cuál debe adoptar.

Formateadores de código Python

Los formateadores de código más populares en Python son:

  • Black
  • isort
  • autopep8
  • YAPF
Índice

¿Por qué utilizar formateadores de código para Python?

Seguir una guía de estilo mantiene limpia la estética del código y mejora la legibilidad, lo que facilita las contribuciones y las revisiones del código. Los formateadores de código automatizados se aseguran de que su base de código se mantenga en un estilo coherente sin ningún trabajo manual por su parte. Si para usted es importante adherirse a un estilo específico de codificación, lo más obvio es emplear un sistema automatizado para hacer ese trabajo. Esto evita que se pierda tiempo durante las revisiones de código.

Black

Inspirado en herramientas de otros ecosistemas como gofmt para Go y Prettier para JavaScript, Black se ha convertido gradualmente en el formateador de código por excelencia para proyectos Python. Se promociona a sí mismo como intransigente, obstinado, rápido y determinista, lo que ha impulsado su uso entre los desarrolladores que no quieren pensar en el estilo, pero quieren seguir una guía de estilo coherente.

Black es utilizado por algunos proyectos de código abierto muy populares, como pytest, tox, Pyramid, Django Channels, Poetry, etc.

¿Cómo usar Black?

Instale la última versión de Black con PyPI:

pip install black

Y luego, ejecute Black en uno o varios archivos. Al hacerlo, Black formateará los archivos por nosotros.

Ejemplo: en la terminal escribimos black mi_archivo.py

isort

PEP 8, la guía de estilo oficial de Python, recomienda las siguientes reglas para escribir declaraciones de importación:

  • Las importaciones siempre se colocan en la parte superior del archivo, justo después de los comentarios y cadenas de documentación del módulo, y antes de las constantes y globales del módulo.
  • Las importaciones deben agruparse en el siguiente orden:
    • Importaciones de bibliotecas estándar.
    • Importaciones de terceros relacionadas.
    • Importaciones específicas de aplicaciones / bibliotecas locales.
  • Debe poner una línea en blanco entre cada grupo de importaciones.

isort ordena las importaciones en sus archivos Python automáticamente, alfabéticamente, separadas en secciones y por tipo. Asegura que las importaciones en un archivo Python sigan las pautas recomendadas de PEP 8.

¿Cómo usar isort?

Instale la última versión de isort en PyPI:

pip install isort

Y luego, ejecute isort en uno o varios archivos. Al hacerlo, isort formateará los archivos por nosotros.

Ejemplo: en la terminal escribimos isort mi_archivo1.py mi_archivo2.py

autopep8

autopep8 es una herramienta no oficial, pero popular, que formatea automáticamente el código Python para ajustarse a PEP 8. Utiliza pycodestyle, la herramienta oficial de verificación de violaciones PEP 8 de Python, para determinar qué partes del código deben formatearse.

¿Cómo usar autopep8?

Instale la última versión de autopep8 desde PyPI:

pip install autopep8

Y luego, ejecute autopep8 en uno o varios archivos. Al hacerlo, autopep8 formateará los archivos por nosotros.

Ejemplo: en la terminal escribimos autopep8 --in-place mi_archivo.py

YAPF

YAPF, o Yet, otro formateador Python, adopta un enfoque diferente en el formato de código que las otras herramientas enumeradas aquí. Funciona sobre la premisa de que el código que se ajusta a las pautas de PEP 8 no se puede volver a formatear, pero eso no significa que el código se vea bien. Por lo tanto, el algoritmo toma el código y lo reformatea al mejor formato que se ajuste a la guía de estilo, incluso si el código original no violó la guía de estilo. Esta idea es similar a clang-format o gofmt.

¿Cómo usar YAPF?

Instale la última versión de autopep8 desde PyPI:

pip install yapf

Y luego, ejecute YAPF en uno o varios archivos. Al hacerlo, YAPF formateará los archivos en el lugar.

Ejemplo: en la terminal escribimos yapf mi_archivo.py

Conclusión

Si has contribuido en el mundo Open Source en GitHub por ejemplo como yo, sabrás que la gran mayoría de los repositorios importantes alientan a utilizar estos Formateadores de código antes de enviar un Pull Requests. Así que si eres nuevo, te aconsejo que los utilices y veas los cambios que se realizan en tu código para ir mejorando la forma de escribir código y estés seguro de que tu código cumple las pautas PEP8 antes de enviar una solicitud a GitHub.

Espero que esta entrada te sea de ayuda. Saludos, Diego.

dcaraballo

Creador de @PythonDiario, amante de la Tecnología y la Naturaleza. Programador Python, C# . NET

Deja una respuesta

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

Subir
White Monkey