Угорська нотація

Уго́рська нотація — метод найменування змінних в програмуванні, при якому до ідентифікатора змінної або функції додається префікс, що вказує на його тип. Автором є Чарльз Симоні.

Наприклад, префікс p додається до ідентифікаторів вказівників (англ. pointer), sz — до ідентифікаторів символьних рядків (англ. string), що закінчуються на нуль тощо.

Перевагою угорської нотації є системність, що полегшує читання програм і зменшує ймовірність неправильного використання змінної. Була популярна в 90-х серед програмістів Microsoft, де дана нотація була внутрішнім стандартом.

Недоліком є те, що при зміні типу змінної назва втрачає зміст і не вказує на тип змінної, що потребує введення нової змінної.

Префікси, що задають тип

Префікс Скорочення від Сенс Приклад
s string Рядок sClientName
sz zero-terminated string Рядок, обмежений нульовим символом szClientName
n, i int Цілочисельна змінна nSize, iSize
l long довге ціле lAmount
b boolean булева змінна bIsEmpty
a array масив aDimensions
t, dt time, datetime час і дата tDelivery, dtDelivery
p pointer Вказівник pBox
lp long pointer подвійний (дальній) вказівник lpBox
r reference посилання rBoxes
h handle дескриптор hWindow
m_ member змінна-член класу m_sAddress
g_ global глобальна змінна g_nSpeed
C class клас CString
T type тип TObject
I interface інтерфейс IDispatch
v void відсутність типу vReserved

Як бачимо з прикладу, префікс може бути і складеним. Наприклад, для іменування рядкової змінної-члена класу може бути використана комбінація «m» та «s»: (m_sAddress).

Див. також