Венге́рская нота́ция — соглашение программистов об именовании переменных, констант и прочих идентификаторов в кодепрограмм. Свое название венгерская нотация получила благодаря программисту компании Майкрософт венгерского происхождения Чарльзу Шимоньи (Charles Simonyi), предложившего её ещё во времена разработки первых версий MS-DOS. Со временем, его система стала не только внутренним стандартом Майкрософт, но и широко распространенным правилом среди программистов всего мира.
Суть венгерской нотации сводится к тому, что имена идентификаторов предваряются заранее оговоренными префиксами, состоящими из одного или нескольких символов. При этом, как правило, ни само наличие префиксов, ни их написание не являются требованием языков программирования, и у каждого программиста (или коллектива программистов) могут быть своими. Использование в каждом из языков пограммирования своей терминологии так же вносит особенности в выбор префиксов.
Как видно в приведенном примере, префикс может быть и составным. Например, для именования строковой переменной-члена класса использована комбинация префиксов «m_» и «s» (m_sAddress).
За и против
Среди программистов есть как сторонники, так и противники использования такой системы. Главными аргументами сторон являются «вы сами не можете понять, что тут написано, и постоянно ошибаетесь» и «ваши префиксы — нечитаемы». Однако при использовании ряда стандартных библиотек, поставляемых вместе с компиляторами, а так же при использовании API иметь дело с венгерской нотацией всё равно приходится.