Sobes.tech
Junior

¿Qué es el código suave?

sobes.tech AI

Respuesta de la IA

La codificación suave (soft coding) es un anti patrón en el que la lógica del programa se externaliza en configuraciones externas (archivos, bases de datos) en lugar de estar explícitamente implementada en el código. Esto se hace con el fin de hacer que el comportamiento del programa sea más flexible sin necesidad de recompilar.

Ejemplos de soft coding:

  • Almacenamiento de lógica de negocio en parámetros de archivos de configuración.
  • Uso de scripts externos o fórmulas para cálculos en lugar de código directo.
  • Externalización de condiciones de ramificación en banderas configurables.

Ventajas:

  • Permite, en teoría, cambiar el comportamiento sin recompilación.
  • Potencialmente simplifica la configuración para diferentes entornos.

Desventajas:

  • Dificultad para depurar: La lógica está dispersa en diferentes lugares, dificultando rastrear la ejecución.
  • Reducción de la legibilidad: No es evidente cómo funciona el programa solo mirando el código.
  • Riesgo de errores: Los cambios en la configuración pueden romper el programa sin errores de compilación.
  • Dificultad en las pruebas: Requiere probar combinaciones de código y configuración.
  • Deuda técnica: Mantener y desarrollar tal sistema se vuelve más difícil.
  • Reducción del rendimiento: Puede requerir interpretación dinámica o carga en tiempo de ejecución.

En lugar de soft coding, es preferible usar enfoques más predecibles y probados, como:

  • Implementación explícita de la lógica en el código.
  • Uso de patrones de diseño para mayor flexibilidad.
  • Aplicación de inyección de dependencias para gestionar dependencias.
  • Utilizar configuraciones externas solo para parámetros simples (direcciones de servidores, puertos, etc.).