Las condiciones de Yoda, también conocidas como notación de Yoda, son una forma de formatear el código que invierte el orden estándar de una declaración condicional de igualdad. El estilo de formato lleva el nombre del personaje de Star Wars cuya sintaxis generalmente implica un orden objeto-sujeto-verbo en lugar del orden estándar de sujeto-verbo-objeto en inglés: "Paciencia, debes tener", por ejemplo, en lugar de "Debes tener paciencia". "
En programación, las condiciones de Yoda implican intercambiar las posiciones de la variable con la de la constante, función o literal en una expresión condicional de igualdad.
En Know The Code, Tonya Mork ofrece los siguientes ejemplos:
Estructura condicional típica | Condiciones de Yoda |
1 if ($ post_type == 'publicación') { 2 // hacer cosas 3} |
1 if ('post' == $ post_type) { 2 // hacer cosas 3} |
Ese formato fuerza un error en el caso de ciertos errores tipográficos. Si, por ejemplo, el programador escribe un operador de asignación (=) en la declaración cuando intenta escribir el operador de igualdad (==), el formato de Yoda forzará un error de sintaxis. El error evita que el código se ejecute y, debido al error, posiblemente cause un comportamiento no deseado.
Según Tonya Mark, prevenir comportamientos no deseados en esa situación es la única ventaja de usar las condiciones de Yoda y la única razón para usarlo. La principal desventaja de las condiciones de Yoga es el hecho de que hacen que el código sea más engorroso de leer y hacen que la revisión del código sea más difícil de lo necesario.