Notación húngara: Una definición
La notación húngara es una convención de nomenclatura utilizada en programación informática para indicar el tipo de datos de una variable. La inventó Charles Simonyi, de origen húngaro. ingeniero de software que trabajó en Microsoft Corporation en la década de 1980. La notación se desarrolló originalmente para ayudar a Simonyi y sus colegas a escribir código para las primeras versiones de Microsoft Word.
La idea básica de la Notación Húngara es añadir un prefijo al nombre de una variable que indique su tipo de datos. Por ejemplo, una variable que almacena un valor entero puede llamarse "iCount", mientras que una variable que almacena una cadena puede llamarse "strName". El prefijo "i" indica que la variable es un número entero, mientras que el prefijo "str" indica que la variable es una cadena.
Aunque la Notación Húngara se desarrolló originalmente para su uso con el lenguaje de programación C, desde entonces ha sido adoptada por otros lenguajes de programación, incluido C++, Javay C#. La notación también ha evolucionado con el tiempo y se han utilizado distintos prefijos para diferentes tipos de datos.
A pesar de su popularidad, la Notación Húngara ha sido criticada por algunos programadores por ser demasiado prolija y desordenar el código. Otros sostienen que puede resultar confusa, sobre todo cuando se utilizan prefijos distintos para el mismo tipo de datos en diferentes partes de un programa.
A pesar de estas críticas, la Notación Húngara sigue siendo una convención de nomenclatura popular en muchas comunidades de programación. Puede ser especialmente útil en grandes proyectos de programación, donde puede ayudar a los programadores a identificar rápidamente el tipo de datos de una variable sin tener que buscar en el código.
En general, la Notación Húngara es una herramienta útil para los programadores que desean escribir código claro y legible. Aunque puede no ser apropiada para todos los programadores proyectopuede ser una valiosa adición al conjunto de herramientas de un programador.