La mejor respuesta
Hay varias herramientas para realizar el análisis estático para la programación de Python.
- Pylint → Una herramienta de código abierto
- Kiuwan → Herramienta comercial
- Pyflakes y así sucesivamente.
He utilizado Pylint y Kiuwan.
Pylint puede encontrar las siguientes cosas:
- verificar la longitud del código de línea,
- verificar si los nombres de las variables están bien formados de acuerdo con su estándar de codificación
- comprobar si se utilizan módulos importados
- comprobar si las interfaces declaradas están realmente implementadas
- comprobar si los módulos se importan
Kiuwan puede admitir los siguientes conjuntos de reglas:
- Evite la codificación de direcciones IP
- Código duplicado
- Evite el uso de parámetros mutables predeterminados
- Evite el uso de función exec ()
- Evite asignaciones a Verdadero o Falso
- Evite comparaciones encadenadas que contengan un operador de igualdad
- Evite funciones demasiado complejas
- Archivos abiertos usin g la declaración with
- Evite el uso de módulos obsoletos
- El método \_init\_ no puede ser un generador
Es una mejor opción para verificar múltiples herramientas y decidir qué herramienta se ajusta perfectamente al requisito.
Respuesta
Yo uso pyflakes para verificar el código dentro de Vim y lo encuentro muy útil. Pero aún así, pylint es mejor para verificar el código antes de la confirmación. Debe tener dos niveles de verificación de código: errores que no se pueden cometer y advertencias que huelen a código pero que se pueden cometer. Puedes configurar eso y muchas otras cosas con pylint.
En algún momento podrías pensar que pylint es demasiado exigente: puede quejarse de algo que crees que está perfectamente bien. Piénselo dos veces. Muy a menudo, descubrí que la advertencia que encontré demasiado conservadora hace un mes era en realidad un muy buen consejo.
Entonces, mi respuesta es que pylint es confiable y robusto, y no conozco un código mucho mejor analizador.