Número de lecturas: 1454
{lang: 'es-419'}

Como programadores, siempre escribimos condiciones día con día en nuestros archivos, no me dejarás mentir. Y es que esas condiciones, nos ayudan a ejecutar código específico en un punto de ejecución específico.

¡Nos han salvado más de una ocasión!

Las condiciones Yoda

Las condiciones Yoda son un estilo de programación, y consiste en invertir (mover a la derecha) la variable, constante ó función dentro de nuestra condición.

NOTA: La sintaxis aquí mostrada es en PHP.

Hagamos una comparación de igualdad de la variable $texto_inicial con la palabra “Yoda” con la estructura típica de una condición:

if ( $texto_inicial == 'Yoda' ) {
    // Ejecuta el código.
}

Ahora, transformemos la condición anterior en una condición Yoda:

if ( 'Yoda' == $texto_inicial ) {
    // Ejecuta el código.
}


Estructura de una condición Yoda.

¿Notas la diferencia? Sólo tuvimos que mover la variable $texto_inicial a la derecha, y el valor a comparar (Yoda) a la izquierda.

¿Por qué usarlo?

Fíjate en esto, ¿qué pasaría en la siguiente declaración?:

if ( $texto_inicial = 'Yoda' ) {
    // Ejecuta el código.
}

¿Notaste de que solo puse un signo igual (=) en vez de dos (==)?

Bien, el código anterior no estaría comparando nada, si no que estaría asignando la palabra “Yoda” a la variable $texto_inicial. Esto no mostraría ni un error, pero si ejecutaría el cuerpo de la condición.

Nosotros nos pondríamos felices de que el código está “funcionando”. Pero no, haciendo lo anterior, solo estamos provocando un mal funcionamiento de nuestro programa.

Recuerda:

El símbolo de asignación (=), es para asignar valores; mientras que, el de comparación (==), compara si dos valores iguales.

Las condiciones Yoda soluciona éste problema.

¿Dónde aplicarlo?

Debemos utilizar las condiciones Yoda en puras operaciones de igualdad, como:

  • Comparación de valores iguales (==).
  • Comparación de valores y tipos iguales (===).
  • Comparación de valores diferentes (!=).
  • Comparación de valores y tipos diferentes (!==).

No intentes aplicarlo en operaciones relacionales, esto generaría un mal funcionamiento de tu programa (ya me ha pasado).

Por último

Estarás pensando, “pero Roel, yo sé que mi condición está bien porque estoy viendo lo que hago“.

Y yo te digo:

Los errores le ocurren incluso a los profesionales, es por eso que al menos debes saber de qué trata éste estilo de programación; eso, y para presumirle a tus amigos algo más sobre programación.


Aporte hackeruna, proyectos actuales que utilizan condiciones YODA: Symfony, Woprdpress

Fuente:

roelmagdaleno.com

Más información:

http://picandocodigo.net/2010/condicionales-yoda/

La sintaxis Yoda aplicar tú debes

Be Sociable, Share!