Saltar al contenido

Cómo reducir la lógica if/else repetida en el código

Posteriormente a consultar expertos en la materia, programadores de varias ramas y profesores hemos dado con la solución al dilema y la dejamos plasmada en esta publicación.

Solución:

Cuando tiene código repetido, hay varias formas de evitar la repetición que equivalen a extraer la parte común y aún permitir que varíe la parte variable. Véase, por ejemplo, Evitar la repetición.

Poco es exclusivo de Apex: se trata más de estas ideas de diseño independientes del idioma:

  • mecanismos de lenguaje como Reemplazar Condicional con Polimorfismo
  • refactorizaciones como el método de extracción
  • patrones de diseño como el método de plantilla.

A veces es preferible una pequeña cantidad de repetición a introducir complejidad. Me gusta esta cita de Code Reuse is Not a Good Goal:

Evitar la duplicación es un objetivo de vital importancia en el desarrollo de software, que a menudo le ahorra una deuda técnica descomunal. Pero evitar la complejidad especulativa y la abstracción en realidad tiene el mismo perfil de riesgo. Tienes que caminar por una línea muy fina en el medio.

Algunas lecturas adicionales:

  • La obsesión DRY
  • Refactorizaciones
  • Catálogo de Patrones de Diseño

Un buen patrón de diseño es solo lo que necesita para evitar la repetitividad del código/código de placa de caldera. Hay un buen blog que describe maravillosamente el patrón de diseño de visitantes. Podrías intentar implementar esto. Esto lo ayudará a resolver la fealdad de demasiadas declaraciones if-else. Los ejemplos de este blog no están relacionados con Apex, pero se pueden implementar fácilmente en Apex.

Salesforce entregó la idea Agregar declaración “Switch” o “Caso” a Apex en la versión de verano de 2018. Ahora, en lugar de escribir if-else anidados, puede escribir declaraciones de cambio que son mejores en términos de rendimiento y organización del código. Las declaraciones de cambio son mejores alternativas en algunos casos, por lo que también puede probarlas.

La sintaxis es:

switch on expression 
    when value1        // when block 1
        // code block 1
       
    when value2        // when block 2
        // code block 2
    
    when value3        // when block 3
        // code block 3
    
    when else        // when else block, optional
        // code block 4
    

Si posees algún titubeo o forma de prosperar nuestro reseña eres capaz de escribir una ilustración y con mucho placer lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *