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