Al hacer uso de técnicas de codificación estandarizadas y reutilización de código, el código bajo tiende de hecho a reducir la complejidad de las aplicaciones. Este es el por qué.

por Lee Atchison

El código bajo continúa recibiendo mucha prensa y debate. Muchos desarrolladores de software todavía se preguntan si el uso de código bajo mejora el proceso de desarrollo de aplicaciones o si interfiere con el proceso de desarrollo y da como resultado aplicaciones inferiores. Otros se preocupan por las implicaciones de seguridad del código bajo.

Ciertamente, si el resultado inevitable del uso de código bajo es una mayor complejidad de la aplicación, entonces el código bajo podría conducir a una mayor dificultad con los problemas de seguridad. Pero lo hace? He estado escribiendo mucho sobre la complejidad de las aplicaciones recientemente y mucho sobre el código bajo. Pero la correlación entre la complejidad de la aplicación con el uso de código bajo es una perspectiva interesante. Sumerjámonos.

La complejidad es independiente del enfoque.

Para ser claros, el resultado inevitable del código bajo no es necesariamente la complejidad. Al igual que el desarrollo de aplicaciones tradicional, la complejidad puede y, a menudo, se abre camino en el ciclo de vida de la base del código del producto. Si bien no es inevitable, es común. Hay muchos pasos que puede seguir para reducir la complejidad de las aplicaciones, independientemente de cómo se construyan, lo que mejora el rendimiento, la escalabilidad, la disponibilidad y la velocidad de la innovación.

Sí, una aplicación de código bajo, como todas las aplicaciones, puede volverse compleja y requiere el uso de técnicas de simplificación para reducir la complejidad. Pero estos problemas no están ligados al uso de código bajo. Son igual de importantes en los procesos habituales de desarrollo de productos.https://imasdk.googleapis.com/js/core/bridge3.516.0_es.html#goog_280733451 second of 28 secondsVolumen 0%00:4621:50 

Lo desconocido no es complejo

Lo que sí aumenta el código bajo es la cantidad de código en su aplicación que no fue escrito directamente por su equipo de desarrollo. Hay más código que fue generado automáticamente por la plataforma de código bajo, o incluido en las bibliotecas requeridas para que su aplicación funcione, pero que no fue producto de sus desarrolladores. Por lo tanto, a menudo hay más código “desconocido” en su aplicación cuando utiliza técnicas de código bajo.

Pero desconocido no es lo mismo que complejidad. El código desconocido (código proporcionado por otra persona y agregado a su aplicación) no aumenta, por sí mismo, la complejidad de la aplicación.

De hecho, lo contrario puede ser cierto.

El código bajo reduce la complejidad

El uso de técnicas de desarrollo de código bajo puede reducir la probabilidad de que la complejidad excesiva se filtre en su aplicación. Al simplificar la carga cognitiva y las presiones de tiempo sobre los desarrolladores de aplicaciones, las plataformas de bajo código permiten a los desarrolladores centrarse en el panorama general, la lógica empresarial de la aplicación y centrarse menos en los detalles.

¿Qué sucede con los detalles esenciales? Son manejados por el entorno de código bajo. Además, el entorno de código bajo utilizará técnicas probadas y estandarizadas para completar estas tareas de bajo nivel. El código generado automáticamente y el código de la biblioteca se desarrollan, prueban y mejoran mucho antes de que su equipo de aplicación los use. Cuanto más use código bajo para crear su aplicación, mayor será la cantidad de este código estandarizado y probado previamente que se usa dentro de su aplicación. El uso de una herramienta de código bajo para crear su aplicación da como resultado un mayor uso general de las técnicas de codificación estandarizadas, las mejores prácticas de la industria y, en última instancia, una mayor reutilización del software.

Pero ¿qué pasa con la complejidad? Aumentar el uso de codificación estandarizada y aprovechar la reutilización de software son estrategias comunes que se utilizan para reducir la complejidad de una aplicación. La codificación estandarizada reduce la carga cognitiva involucrada en comprender cómo funciona una aplicación, y la reutilización de código tiende a reducir la cantidad de partes móviles que pueden fallar en una aplicación compleja. Como resultado, la aplicación creada con herramientas de código bajo será menos compleja que la aplicación funcionalmente equivalente desarrollada utilizando técnicas de programación tradicionales.

¿Cómo afectan la estandarización y la reutilización a la complejidad?

Cuando pensamos en la complejidad de una aplicación, normalmente pensamos en dos aspectos diferentes de la aplicación: el tamaño y la cantidad de componentes que componen la aplicación, y la tasa de cambio del software de la aplicación.

Aumentar el uso de código reutilizable disminuye el tamaño y la cantidad de componentes en una aplicación, mientras que aumentar el uso de técnicas de codificación estandarizadas tiende a disminuir la tasa de cambio, al menos para los módulos o componentes donde se aplicó la codificación estandarizada.

La realidad para cualquier aplicación dada será más complicada (juego de palabras intencionado), pero la filosofía básica aún se aplica. Aumentar el uso de técnicas de codificación estandarizadas y aumentar el uso de componentes de software reutilizables tiende a disminuir la complejidad de la aplicación resultante.

Esto no es nuevo

Este análisis no es nuevo ni exclusivo del espacio de código bajo. Hemos utilizado la abstracción de software para “ocultar” la complejidad del código a los desarrolladores durante décadas. Cada vez que usamos un lenguaje de nivel superior, como C, Java, Ruby o Go, abstraemos el código real que se crea y ejecuta para realizar las acciones deseadas. Centramos nuestro desarrollo en “construcciones de nivel superior”, lo que permite que el compilador o el intérprete maneje los detalles de la creación y ejecución del código de máquina.

Y no se detiene con los compiladores. Cuando nos involucramos en el uso de paquetes de software, entornos y marcos de trabajo de nivel superior, también abstraemos la complejidad para poder centrarnos en las capacidades de nivel superior. Entonces, usando Ruby on Rails, Spring, Hibernate, Gin, jQuery, Bootstrap o incluso HTML/CSS, estamos abstrayendo la complejidad para trabajar a un nivel superior. El resultado son aplicaciones más poderosas y mayor confiabilidad, con menos esfuerzo de desarrollo y menores costos de soporte. Esto no es diferente a los argumentos discutidos en la comunidad de código bajo hoy en día.

El mundo del desarrollo de software es complejo, con nuevos desafíos que surgen todos los días. Los desarrolladores de software utilizan regularmente herramientas, recursos, entornos y técnicas para hacer que el proceso de desarrollo de software sea más fácil y sencillo. Recientemente, las técnicas de código bajo han mejorado y las plataformas de código bajo se han convertido en una herramienta útil para mejorar el proceso de desarrollo de software, sin agregar una complejidad indebida a la aplicación.

Fuente: https://www.infoworld.com/article/3659796/does-low-code-make-applications-overly-complex.html

Deja una respuesta