title: Entrada chapuza
text: # Entrada chapuza
  
  En computación el antipatrón de diseño chapuza de entrada ocurre cuando la entrada de datos de un programa específico no se maneja adecuadamente. Por ejemplo, si un programa acepta la entrada de cualquier texto por parte del usuario final y se utiliza un algoritmo que manipule mediante muchas combinaciones todas las cadenas posibles tanto si son válidas como si no lo son.
  
  Por lo general es difícil para un programador detectar, en una prueba unitaria, todas las posibles combinaciones erróneas de una entrada de datos. Sin embargo es muy fácil para el usuario final reconocer que la cadena de entrada es incorrecta y así bloquear el programa. De hecho, el desbordamiento de búfer es un ejemplo de agujero de seguridad provocado por los problemas que causa un mal manejo de los datos de entrada.
  
  Para evitar la chapuza de entrada se pueden utilizar algoritmos de validación que determinen que datos deben ser válidos y evitar el tratamiento de los datos no válidos. Por ejemplo, realizar el análisis léxico y/o sintáctico utilizando software específico tales como Lex, Yacc y GNU Bison que permiten obtener un control robusto de texto compuesto por expresiones regulares y gramáticas libres de contexto del lenguaje. Se recomienda el empleo de estas tecnologías para asegurar el manejo adecuado de entradas inesperadas.
  
  