Pylint: chequear código escrito en Python

Dado que la calidad de mi código siempre dejó mucho que desear (ausencia de comentarios, estilo desprolijo, etc),Pylint me viene como anillo al dedo cuando hago algo en Python. El problema es que la configuración que trae por defecto no me gusta: hace que salten alertas sin motivo y me llena de reportes que no necesito. Básicamente cuando escribo quiero que me alerte sobre aquellas cosas que lo ameriten y que me muestre nada más el puntaje que le da a mi código. Me marco como meta un código con puntaje superior a 9 y libre de bugs.

Cambios en la configuración de Pylint

1. En el directorio $HOME (/home/usuario/) teclear:

pylint --generate-rcfile > .pylintrc

Con eso se genera un archivo de configuración que queda oculto (por el punto delante del nombre de archivo) en uno de los lugares donde pylint va a buscar por defecto un archivo de configuración.

2. Edito el archivo generado:

nano .pylintrc

3. Edito las siguientes líneas asignando los siguientes valores:

# Disable the message(s) with the given id(s).
disable-msg=C0103
# Include message's id in output
include-ids=yes
# Disable the report(s) with the given id(s).
disable-report= R0801, R0701, R0101, R0001, R0003
# Maximum number of characters on a single line.
max-line-length=100

Con eso obtengo un reporte limpio con un puntaje asignado al código.

Pueden encontrar más documentación sobre pylint en su directorio de documentación (en Ubuntu es /usr/share/doc/pylint) que si lo abren desde el navegador pueden encontrar unas útiles páginas con faq y características completas del programa.

Mantengo una pestaña del navegador apuntando al reporte generado para actualizarlo y leer la última versión.

El reporte lo genero tecleando:

pylint nombre_del_programa.py > reporte.txt

Si teclean:

pylint -f html nombre_del_programa.py > reporte.html

les queda en formato…  HTML 😉

NOTAS 2010: al parecer pylint modificó los códigos de los reportes. Pasan de ser Rxxxx a ser RPxxxx. En el archivo de configuración, queda todo en el  item “Messages control”. De modo que queda así:

[MESSAGES CONTROL]
...
disable=C0103, RP0801, RP0701, RP0101, RP0001, RP0003

Un comentario en “Pylint: chequear código escrito en Python

  1. Pingback: Pylint | malev's blog

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s