Articulo de referencia

Te pillé (programación)

En programación , un error es una construcción válida en un sistema, programa o lenguaje de programación que funciona como está documentado pero es contra-intuitivo y casi invit...

En programación , un error es una construcción válida en un sistema, programa o lenguaje de programación que funciona como está documentado pero es contra-intuitivo y casi invita a errores porque es fácil de invocar e inesperado o irrazonable en su resultado. [1]

Ejemplo

El clásico problema en C / C++ es la construcción

si ( a = b ) código ;    

Es sintácticamente válido: coloca el valor de ben ay luego se ejecuta codesi ano es cero. A veces, esto incluso es intencional. Sin embargo, lo más común es que se trate de un error tipográfico: el programador probablemente quiso decir

si ( a == b ) código ;    

que se ejecuta codesi ay bson iguales. [1] Los compiladores modernos normalmente generarán una advertencia cuando se encuentren con la primera construcción (ramificación condicional en la asignación, no en la comparación), dependiendo de las opciones del compilador (por ejemplo, la -Wallopción para gcc ). Para evitar este problema, algunos lenguajes de programación incluyen una sintaxis específica para cuando este es el comportamiento deseado, como el operador "morsa" de Python ( :=). En lenguajes donde no existe esta sintaxis específica, hay una recomendación [2] para mantener las constantes en el lado izquierdo de la comparación, por ejemplo, 42 == xen lugar de x == 42. De esta manera, usar =en lugar de ==provocará un error del compilador (ver Condiciones de Yoda ). Sin embargo, los compiladores no detectan muchos tipos de problemas. [ cita requerida ]

Véase también

Referencias

  1. ^ Definición de ab Gotcha en The Jargon File
  2. ^ "VOID EXP21-C. Colocar las constantes a la izquierda de las comparaciones de igualdad"

Lectura adicional

  • Stephen C. Dewhurst (2003). Errores en C++ (Cómo evitar problemas comunes en la codificación y el diseño) . Addison-Wesley. ISBN 0321125185.
  • C Trampas y obstáculos por Andrew Koenig
  • Errores en C++ Guía para programadores sobre cómo evitar y corregir noventa y nueve de los errores de diseño y programación en C++ más comunes, destructivos e interesantes, por Stephen C. Dewhurst
Obtenido de "https://es.wikipedia.org/w/index.php?title=Te pillé_(programación)&oldid=1252378300"