Buenas Practicas De Programacion Linting

En esta nueva serie vamos a comentar brevemente algunnas de las mejores prácticas para ir mejorando como un programador. Esta serie de artículos incluirá varios artículos enfocados a Python principalmente sobre:

Motivación

Un problema generalizado al hacer un desarrollo compartido, ya sea en la empresa o un equipo, es la inconsistencia en el formato del código la cual en algún momento puede llevar a errores y bugs. Afortunadamente este problema, el cual ha existido casi desde que la gente comenzó a escribir software, por lo que existen herramientas que pueden automatizar el proceso.

¿Qué es linting?

Linting es el proceso de limpiar el código de variables no utilizadas, revisar la estructura del programa y su flujo y hacer sugerencias o cambios en el formato y nombres de las variables.

Historia

Lint es un programa que analiza el código fuente para revisar errores, bugs, errores de estilo y construcciones sospechosas. Lint originalmente era una aplicación para analizar código fuente en el lenguaje C y fue desarrollada por el creador de Yacc. En la actualidad, los programas de lint (o linters) han aumentado sus capacidades para detectar una variedad mayor de construcciones sospechosas. Estos incluyen errores de sintaxis, uso de variables no declaradas, uso de variables no inicializadas, llamadas a funciones obsoletas, convenciones de formato, cuestiones de construcciones riesgosas. En general varios linters pueden presentar capacidades de análisis estático para analizar construcciones riesgosas o dudosas.

¿Cómo hacer linting en python?

Para python existen diferentes programas que permiten hacer esto de manera sencilla e incluso se pueden incorporar a las IDE o editores de texto los dos mejores que existen son:

Conclusión

Cuando un proyecto crece, ya sea en número de colaboradores, o en alcances, es importante tratar de mantener la complejidad a raya. Para esto existen diferentes herramientas para ayudar a revisar y en algunos casos corregir automáticamente los errores de formato y sintaxis.