Skip to main content

Veritran Docs

Reutilización lógica

Ciertos patrones lógicos se repiten en diferentes partes de una aplicación. Para evitar la duplicación, facilitar el mantenimiento y garantizar la coherencia, se recomienda extraer estas estructuras en procesos lambda inline reutilizables.

Los procesos lambda inline encapsulan una lógica específica y pueden invocarse desde otros procesos. Esto permite centralizar tareas como el formateo de datos, las validaciones o las transformaciones, simplificando el mantenimiento. Deben utilizarse en los siguientes casos:

  • Cuando una lógica similar se repite en más de un proceso.

  • Cuándo debe centralizarse la lógica de negocio para facilitar el mantenimiento.

  • Cuando se necesita un comportamiento coherente en diferentes partes de la aplicación.

Buenas prácticas

Las mejores prácticas al utilizar procesos lambda inline incluyen:

  • Mantén cada proceso lambda inline limitado a un propósito. No deben convertirse en grandes flujos de uso general, sino en pequeños bloques lógicos reutilizables con un objetivo claramente definido.

  • Evita utilizar lógica que dependa del contexto específico en el que se invoca, para que el proceso pueda ser realmente reutilizable. Por esta razón, la configuración de bloques Next no está permitida en este tipo de procesos, excepto cuando se llama a otro proceso lambda inline.

  • Limitar la profundidad de invocación a tres niveles. Si se necesitan más niveles, considera la posibilidad de reagrupar la lógica de forma más clara. Un encadenamiento excesivo hace que la lógica sea más difícil de leer, mantener y depurar, e introduce un acoplamiento innecesario entre procesos.

  • Evite las llamadas circulares entre procesos, ya que pueden complicar la depuración y provocar bucles infinitos.

Consideraciones sobre el acoplamiento

Para garantizar que un proceso lambda inline sea realmente reutilizable, es esencial minimizar su estrecho acoplamiento con los procesos que lo invocan. Esto incluye:

  • Utilizar comentarios para documentar claramente los tokens de entrada y salida esperados, ya que actualmente no es posible pasar parámetros directamente.

  • No asumir la existencia de tokens específicos a menos que se definan explícitamente como entrada.

  • No modificar estados externos (tokens), excepto los definidos explícitamente como salida.

  • Limitar su responsabilidad a una tarea única, bien definida y autónoma (por ejemplo, validar un campo, transformar un valor, formatear una respuesta).

Asegurarse de que el proceso en línea opera sólo en tokens de entrada y salida definidos explícitamente, y que sus efectos son predecibles, controlados y aislados. Esto mejora la reutilización, simplifica las pruebas y reduce los efectos secundarios no deseados.