¿Cuáles son las mejores herramientas para el análisis estático de Python?


La mejor respuesta

Hay varias herramientas para realizar el análisis estático para la programación de Python.

  1. Pylint → Una herramienta de código abierto
  2. Kiuwan → Herramienta comercial
  3. 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.

Deja una respuesta

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