Complejidad del código: innecesario, debemos reducirla


¿Qué es la complejidad del código? ¿Por qué es importante y cómo se controla? Pensemos en ello ahora mismo.

La complejidad del código es una medida de lo difícil que es entender tu código. Digamos que tengo un method 15. Si condiciona tres bucles for, ¿es fácil de entender o difícil de entender?

Pensemos en una clase específica. Esta clase tiene 75 métodos. Algunos de estos métodos son muy, muy grandes. Tienen un montón de condiciones if y bucles for y digamos que hay 25 variables miembro. ¿Es una clase fácil de entender? O es una clase difícil de entender ambos, los dos ejemplos de los que estoy hablando son difíciles, ¿verdad?
Así que son cosas difíciles de entender porque las clases grandes, los métodos grandes son complejos. Eso significa que no están bien diseñados.

Y la complejidad del código es sólo una medida para identificar y establecer normas en torno a qué tipo de complejidad querrías permitir en tu código.

Ahora, ¿cómo se mide la complejidad del código? La mejor medida para identificar la complejidad del código es mirar algo llamado complejidad cíclica.

La complejidad cíclica es una gran medida. Identifica cuántos ifs, cuántas condiciones tienes, cuántos bucles tienes? Y puede mirar el hecho de que esta clase tiene alrededor de 360 6. Así que tiene una complejidad ciclo de 366. Esta clase tiene una complejidad CYC de 317. Eso significa que estas clases pueden ser un poco difíciles de entender.

La complejidad ciclomática es una medida un poco diferente a la complejidad cognitiva, pero muy similar. Así que dice que tiene una complejidad cognitiva de 16. Y el límite de 11 es 15.

Si usted mira este método, esto tiene bucles de piel. Si, y tiene operadores condicionales, tienes, si, si no para, y si, y si tienes que entender este método, necesitas pasar mucho tiempo en él. Eso es lo que la complejidad, la complejidad del código encuentra.

Así que encuentra métodos complejos y puedes centrarte en ellos y tratar de hacerlos simples. Entender que tener métodos complejos es : señal de que un desarrollador no ha pensado realmente en cómo querrías escribir ese código.

Así que tener un montón de, si las condiciones, un montón de bucles de piel, un montón de bucles sería un que los métodos podrían no estar bien diseñados.
Siempre que escribimos código, nos gusta todo. Pequeño, pequeños métodos, pequeñas clases, pequeños paquetes, pequeños componentes, pequeñas aplicaciones. Nadie te paga por escribir mucho código.

A todo el mundo se le paga para lograr cierta cantidad de funcionalidad. Y quieres conseguir esa funcionalidad con el mínimo código posible. La complejidad del código es una medida de lo complejo o lo grande que es tu código S. Querrás que la complejidad del código de tu aplicación sea lo más baja posible.

Hablamos de las complejidades de CYC como una de las medidas de la complejidad del código. Y miramos a soar y vimos como soar nos ayuda a encontrar métodos complejos y clases complejas. Una de las opciones que tienes para medir la complejidad del código es una herramienta llamada PMD. PMD también hace un buen análisis estático.

La mejor manera de abordar la complejidad del código es identificarla a tiempo y seguir monitoreándola todos los días. Codificar, hacer que la complejidad del código, una gran parte de sus normas de codificación.
Asegúrate de que estás buscando métodos complejos y clases grandes todo el tiempo y asegúrate de que siempre que encuentres un método complejo o una clase grande, intenta diseñar una forma de evitarlo, intenta pensar en ello.

Trata de usar la herencia o cualquiera de los otros patrones de diseño o cualquiera de las opciones de diseño para reducir la complejidad de esa cosa específica en 28 minutos está proporcionando experiencias de aprendizaje impresionantes a 300.000 estudiantes a través de plataformas como U DME, safari en línea, y pat, hemos obstruido millones de horas de aprendizaje en los últimos meses. La pregunta es, ¿qué quieres aprender? ¿Qué es lo siguiente?

Estamos construyendo soluciones para ayudar a los programadores de todos los niveles.

Puedes aprender a programar con nuestros impresionantes cursos sobre Java Python y Java script. Puedes aprender desarrollo full stack con APIs de descanso y microservicios con una amplia gama de frameworks como springboard NOJS react, angular y spring cloud. Tenemos más de 200 videos para ayudarte a comenzar tu viaje de : programador a arquitecto de software.

Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator

¿Cómo se calcula la complejidad del código?

Esto se hace midiendo directamente el número de rutas a través del código. Digamos que un programa es un gráfico de todas las operaciones posibles. 
Entonces, la complejidad mide el número de rutas únicos a través de ese gráfico. Cada sentencia if, while o for crea una nueva rama.

¿Por qué es importante la complejidad del código?

El riesgo de no abordar la complejidad del código es que este se hace más difícil de entender y mantener. Los desarrolladores, especialmente los nuevos, no entenderán del todo el código y cometerán errores al arreglar los fallos, lo que en última instancia afectará a los clientes. 

¿Qué es la notación Big-O?

La notación Big-O es el lenguaje que utilizamos para hablar del tiempo de ejecución de un algoritmo (complejidad temporal) o de la cantidad de memoria que utiliza un algoritmo (complejidad espacial). La notación Big-O puede expresar el tiempo de ejecución de un algoritmo en el mejor, en el peor y en el caso medio.


Deja una respuesta

Tu dirección de correo electrónico no será publicada.