2011-07-23 21 views
7

¿Alguien sabe cómo distinguir los errores nuevos (los que se encontraron durante la última ejecución de Pylint) y los errores antiguos (los que ya se encontraron durante las ejecuciones anteriores) en el informe Pylint?Pylint: distinguir nuevos errores de los anteriores

Estoy usando Pylint en uno de mis proyectos, y el proyecto es bastante grande. Pylint informa de muchos errores (aunque deshabilité muchos de ellos en el archivo de registro). Mientras soluciono estos errores con el tiempo, también es importante no introducir otros nuevos. Pero Pylint HTML y los informes "analizables" no distinguen los nuevos errores de los que se identificaron anteriormente, aunque ejecuto Pylint con la opción persistent=yes.

Por ahora, comparo los informes antiguos y los nuevos de forma manual. Lo que sería realmente bueno, sin embargo, es si Pylint podría resaltar de algún modo los mensajes de error que se encontraron en una última ejecución, pero que no se encontraron en la anterior. ¿Es posible hacerlo utilizando Pylint o herramientas existentes o algo así? Porque si no, parece que terminaré escribiendo mi propia comparación y generación de informes.

+1

Me di cuenta de que hay una solicitud de función para Pylint, que se parece mucho a mi pregunta - http://www.logilab.org/ticket/20386. Por lo tanto, parece que Pylint aún no lo admite. – Timur

Respuesta

2

Dos enfoques básicos. Corrija los errores tal como aparecen para que no haya ninguno antiguo. O bien, si no tiene la intención de corregir ciertos tipos de errores de pelusa, indique a lint que deje de informarlos.

Si tiene muchos archivos, sería una buena idea obtener un informe de pelusas para cada archivo por separado, enviar los informes de pelusas al control de revisión como svn y luego usar la utilidad diff de control de revisión para separar la nueva pelusa errores de otros anteriores. El motivo de los informes separados para cada archivo .py es facilitar la lectura de la salida de diff.

Si está en Linux, vim -d oldfile newfile es una buena manera de leer diff. Si está en Windows, simplemente use la capacidad de diferencia integrada en Tortoise SVN.

+1

Gracias! Pero, de hecho, tengo un proyecto con más de 1000 archivos de código fuente, y todo esto fue codificado antes de comenzar a utilizar Pylint. Y, lo que es peor, el código fuente es de muy mala calidad (discalimer: no fue codificado por mí :-)). My rcfile solo habilita ERRORs, y aún tengo más de 100 de ellos. Puedes imaginar cuál sería la cantidad de errores cuando habilito WARNINGS ... Corrijo estos errores uno por uno, pero es un trabajo arduo y lleva tiempo, mientras que también agrego un nuevo código, y quiero enfocarme en no presentar nuevos errores Entonces, es por eso que todavía quiero distinguir nuevos errores de los viejos. – Timur

+0

A partir de las herramientas de diff, sí, así es como ahora lo hago :) – Timur

Cuestiones relacionadas