Угорська нотація
Уго́рська нотація — метод найменування змінних в програмуванні, при якому до ідентифікатора змінної або функції додається префікс, що вказує на його тип. Автором є Чарльз Симоні.
Наприклад, префікс 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
).