¿Cuál debería ser el rango de complejidad ciclomática para JAVA

Quiero saber que lo que debería ser el rango estándar de la complejidad ciclomática?

¿Y depende del idioma o plataforma o es común para todos?

Estoy usando State of Flow – EclipseMetrics que es un complemento de Eclipse calcula varias métricas para su código durante los ciclos de compilación y le advierte, a través de la vista de problemas, de "infracciones de rango" para cada métrica.

Tan bajo como sea posible, igual que cualquier otro código. Generalmente se recomienda mantener la complejidad ciclomática por debajo de 5.

En realidad, eso es más fácil decirlo que hacerlo. ¡Buena suerte!

He referido este enlace – http://www.javaworld.com/community/node/1005

Cyclocmatic complexity = Number of decision points + 1 

Los puntos de decisión pueden ser sus declaraciones condicionales como si, si … else, switch, for loop, while loop etc.

El siguiente cuadro describe el tipo de aplicación.

Cyclomatic Complexity lies 1 – 10  Para ser considerado Aplicación normal

Cyclomatic Complexity lies 11 – 20  Aplicación moderada

Cyclomatic Complexity lies 21 – 50  Aplicación peligrosa

Complejidad ciclomática se encuentra más de 50  Aplicación inestable

Esta pregunta es independiente de su entorno. No importa si se desarrolla para android o para Java EE.

La complejidad de cyclomatoc sólo le ayuda a mantener su código de mantenimiento. El equipo no tiene ningún problema con una alta complejidad pero no entenderá su código si la complejidad es demasiado alta.

Como Joris mencionó un valor de 5 está bien como un límite, pero en realidad a veces es difícil de lograr.

la competencia cíclica no depende de la plataforma ni del lenguaje. (véase la definición de complejidad ciclomática)

También depende de la complejidad inherente de la tarea que tiene que resolver. la complejidad de su código no puede ser inferior a la de la tarea, de lo contrario el código es simplificado y falta algo.

A menudo se puede reducir la complejidad cicmática de un método específico mediante la refactorización.

  • Clases Java versus Clases C ++
  • ¿Cómo maneja el android los eventos GUI?
  • ¿Cómo convertir Gregorian a Calendario Lunar Chino?
  • Los elementos no tienen el mismo ancho cuando se utiliza RecyclerView GridLayoutManager para establecer el espaciado de columnas por ItemDecoration
  • No se puede importar com.google.api.client.json.jackson.JacksonFactory
  • LoaderManager: cómo agarrar a mi variable / método de mis cargadores?
  • ¿Cómo usar la API Android KeyStore con API 18?
  • Llamar a System.loadLibrary dos veces para la misma biblioteca compartida
  • Problema de zona horaria en Android
  • Uso de Retrofit para acceder a los arrays JSON
  • ¿Qué debe ser el JID para un usuario en OpenFire Server?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.