¿Qué son las condiciones Yoda?

Condiciones Yoda

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.

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.
}

¿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 esto, los símbolos de:

  • Asignación, asigna valores.
  • Comparación, compara si dos valores son iguales.

¿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.

0

Escrito por Roel Magdaleno

Desarrollador Backend y Performance Engineer.

Deja un comentario

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