Pregunta

¿Cuál es el rango de puntuación preferido para el cálculo de métricas de código para la siguiente

  • Capacidad de mantenimiento Índice
  • Ciclomática Complejidad
  • La profundidad de la herencia
  • Acoplamiento clase
¿Fue útil?

Solución

Los valores teóricamente óptimas son:

  • Indice de Capacidad de mantenimiento: 100. Los valores más altos indican una mejor capacidad de mantenimiento
  • .
  • Ciclomática complejidad:. 1. El número de diferentes caminos que puede tomar el código
  • La profundidad de la herencia:. 1. El número de definiciones de clase por encima de éste en el árbol de herencia, sin incluir las interfaces
  • acoplamiento Clase:. 0. Número de otras entidades esta entidad es dependiente de

No hay rangos rápidos "buenas" y dura, aunque es posible hacer algunas afirmaciones generales.

  • Tener alta complejidad ciclomática por método sugiere un método se está volviendo demasiado complicado.
  • Tener una profundidad herencia más de unos 3 o 4 (de sus propias clases, no del marco) es una señal de problemas que pueden ser innecesariamente la representación de relaciones abstractas que no están realmente en el dominio de su software.
  • acoplamiento de baja clase es en general mejor, pero a veces es inevitable. Para la medida de lo posible, debería minimizar la dependencia entre espacios de nombres, ya que hay muchas menos razones para las dependencias aquí.

Un proyecto sólo podría alcanzar los cuatro valores simultáneamente por hacer prácticamente nada y ser inútil:. Software que no hace nada y no depende de nada es ciertamente fácil de mantener, pero no es un muy buen uso de los dólares de los clientes

Por lo tanto, toda la complejidad es una solución de compromiso: adicional llamada inherentes complejidad codifica una mayor sofisticación en el programa, lo que permite que se expanda el conjunto de características. Lo que le gustaría evitar es accidentales complejidad introducida por una implementación deficiente o deficiente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top