Saltar al contenido

Prácticas métricas de complejidad ciclomática para Python

Nuestro grupo de redactores ha pasado mucho tiempo investigando soluciones a tu interrogante, te compartimos la solución así que deseamos que sea de gran ayuda.

Usamos la herramienta RADON en uno de nuestros proyectos que está relacionado con la Automatización de Pruebas.

RADÓN

Dependiendo de las nuevas características y requisitos, necesitamos agregar/modificar/actualizar/eliminar códigos en ese proyecto. Además, casi 4-5 personas estaban trabajando en esto. Entonces, como parte del proceso de revisión, identificamos y usamos las herramientas RADON, ya que queremos que nuestro código sea mantenible y legible.

Dependiendo de la salida de la herramienta RADON, hubo varias veces que refactorizamos nuestro código, agregamos más métodos y modificamos el bucle.

Por favor, hágamelo saber si esto es útil para usted.

Python no es especial cuando se trata de complejidad ciclomática. CC mide cuánta lógica de bifurcación hay en un fragmento de código.

La experiencia muestra que cuando la ramificación es “alta”, ese código es más difícil de entender y cambiar de manera confiable que el código en el que la ramificación es más baja.

Con las métricas, normalmente no son los valores absolutos los que importan; son valores relativos tal como los experimenta su organización. Lo que debe hacer es medir varias métricas (CC es una) y buscar una rodilla en la curva que relacione esa métrica con los errores encontrados en el código. Una vez que sepa dónde está la rodilla, pida a los codificadores que escriban módulos cuya complejidad esté por debajo de la rodilla. Esta es la conexión con el mantenimiento a largo plazo.

Lo que no mides, no lo puedes controlar.

wemake-python-styleguide admite ambos radon y mccabe implementaciones de Complejidad Ciclomática.

También hay diferentes métricas de complejidad que no están cubiertas solo por Complejidad ciclomática, que incluyen:

  • Número de decoradores de funciones; más bajo es mejor
  • Número de argumentos; más bajo es mejor
  • Número de anotaciones; más alto es mejor
  • Número de variables locales; más bajo es mejor
  • Número de devoluciones, rendimientos, esperas; más bajo es mejor
  • Número de declaraciones y expresiones; más bajo es mejor

Lea más sobre por qué es importante obedecerlos: https://sobolevn.me/2019/10/complexity-waterfall

Todos ellos están cubiertos por wemake-python-styleguide. Repo: https://github.com/wemake-services/wemake-python-styleguide Documentos: https://wemake-python-stylegui.de

Finalizando este artículo puedes encontrar las críticas de otros programadores, tú igualmente puedes mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

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