Tags

El código con condiciones Yoda otra forma de sembrar el caos en programación es

Image

El código con condiciones Yoda otra forma de sembrar el caos en programación es

Por @Alvy — 3 de Febrero de 2023

No sabía que esto existía pero me parece tan divertido como absurdamente necesario: las condiciones Yoda (o Notación Yoda). Es un estilo de programación en el que las dos partes de una expresión, normalmente condicional, están escritas al revés. Funcionar funciona, y es tan correcto como el orden normal, solo que resulta un poco más críptico y menos legible.

if (42 == $valor)

// Se lee: «Si 42 igual al valor es…»

Normalmente todo el mundo escribiría una condición de igualdad como esa así: if ($valor == 42)… que se lee «Si $valor es igual a 42, entonces…» en notación Yoda se escribiría if (42 == $valor)…, que técnicamente es lo mismo. Pero si recuerdas cómo hablaba el sabio Jedi en las películas, se leería invirtiendo buena parte de la frase: «Si 42 igual al VALOR es…»

Notación Yoda

Esto me recordó que cuando éramos pequeños, en los meses siguientes al impacto que provocó en nuestros jóvenes y atolondrados cerebros Star Wars: el imperio contraataca (tendríamos unos 13-14 años) nos dio a los chavales del colegio por hablar como Yoda a modo de juego. Podíamos pasarnos todo el día «hablando al revés»; la imitación del personaje era un extra. Puedo asegurar que se hace un poco raro al principio pero luego resulta casi natural. La gracia del asunto aguantar era, y ver quién al revés hablando más resistía. Persistentes eran algunos y días y días pasaban… Ganador resultaba el último en del juego retirarse; maestro Jedi era nombrado.

Actualización – Albert nos escribió para apuntarnos otra ventaja de la notación Yoda aparte de la puramente humorística, al menos para los programadores de C y PHP:

La notación Yoda resulta útil también porque cuando se quiere escribir «if ($valor == 42)» el programador puede por error escribir «if ($valor = 42)» y el compilador no se «queja». El resultado es un programa que no hace para nada lo que se pretendía: iguala la variable al valor 42, en lugar de compararla con 42.

Si usas siempre las condiciones Yoda cuando escribes por error = (asignación) en lugar de == (comparación de igualdad) se generará un error de compilación y el programador quedará alertado para arreglarlo.

Más – Néstor también nos escribió pero con buenos argumentos en contra (con los que coincidimos):

Las condiciones Yoda son una aberración que nunca debería haber existido. Hacen el código difícil de leer, que es uno de los peores pecados que se pueden cometer al programar (ya sabéis: «el código se escribe una vez y se lee mil veces») a cambio de ningún beneficio en absoluto. Es urgente destruirlas con fuego lo antes posible.

This is the way.

Relacionado:

Published at Thu, 02 Feb 2023 17:21:33 -0600

Compartir:

Tags

Relacionados

Neuralink: Empresa de Musk implanta con éxito primer chip cerebral en humano

El visionario empresario tecnológico, Elon Musk, ha causado sensación en todo el mundo al anunciar…

Ministerio de Ciencia Lanza Consulta Ciudadana para Actualizar Política Nacional de Inteligencia Artificial

En el marco del Congreso Futuro, la ministra de Ciencia, Aisén Etcheverry, anunció la apertura…

La Robótica y la Inteligencia Artificial Brillan en la Decimotercera Edición del Congreso del Futuro 2024

La decimotercera edición del Congreso del Futuro 2024 ha sido un escenario destacado para la…

El iPhone 16 llegará con IA, y mejoras en fotografía y sonido

Con la nueva generación de los iPhone 15 y 15 pro encima de la mesa,…

Lo último

Neuralink: Empresa de Musk implanta con éxito primer chip cerebral en humano

Neuralink: Empresa de Musk implanta con éxito primer chip cerebral en humano

El visionario empresario tecnológico, Elon Musk, ha causado sensación en todo el mundo al anunciar hoy un hito histórico…

30 de enero de 2024
Reforma previsional: Errores en las cifras de la ministra Jeanette Jara

Reforma previsional: Errores en las cifras de la ministra Jeanette Jara

Alejandro Weber, decano de la Facultad de Economía y Gobierno de la USS, y Karol Fernández, investigadora del Centro…

30 de enero de 2024
Alcalde de Colchane: «Presencia Militar no Asegura Control Fronterizo»

Alcalde de Colchane: «Presencia Militar no Asegura Control Fronterizo»

El alcalde de Colchane, Javier García Choque, ha expresado su preocupación por la situación en la frontera norte de…

27 de enero de 2024
Hassler llama a oficialismo a consolidar candidaturas «competitivas» para alcaldía de Santiago

Hassler llama a oficialismo a consolidar candidaturas «competitivas» para alcaldía de Santiago

La alcaldesa de Santiago, Irací Hassler, ha hecho un llamado al oficialismo para enfocarse en consolidar “candidaturas competitivas” de…

25 de enero de 2024

Lo más leído

Hassler llama a oficialismo a consolidar candidaturas «competitivas» para alcaldía de Santiago

Hassler llama a oficialismo a consolidar candidaturas «competitivas» para alcaldía de Santiago

La alcaldesa de Santiago, Irací Hassler, ha hecho un llamado al oficialismo para enfocarse en consolidar “candidaturas competitivas” de…

25 de enero de 2024
Neuralink: Empresa de Musk implanta con éxito primer chip cerebral en humano

Neuralink: Empresa de Musk implanta con éxito primer chip cerebral en humano

El visionario empresario tecnológico, Elon Musk, ha causado sensación en todo el mundo al anunciar hoy un hito histórico…

30 de enero de 2024
Reforma previsional: Errores en las cifras de la ministra Jeanette Jara

Reforma previsional: Errores en las cifras de la ministra Jeanette Jara

Alejandro Weber, decano de la Facultad de Economía y Gobierno de la USS, y Karol Fernández, investigadora del Centro…

30 de enero de 2024
Pedro Pizarro, ex subsecretario de Previsión Social: “Las personas quieren que los ahorros vayan a sus cuentas”

Pedro Pizarro, ex subsecretario de Previsión Social: “Las personas quieren que los ahorros vayan a sus cuentas”

El vicepresidente de Renovación Nacional analizó la reforma de pensiones en una entrevista realizada en Radio Sonar FM. Añadió…

17 de enero de 2024
Scroll al inicio