Ох, я в Венгрии по рынку похожу, На венгерских на румынок погляжу...
В Высоцкий. Инструкция перед поездкой за рубеж
Плохие идентификаторы, как и плохие имена, затрудняют жизнь людей и программ. Чтобы облегчить выбор сотрудник фирмы Майкрософт Чарльз Силош предложил весьма сложную систему составления имён объектов программы. Как известно, венгерский язык очень сложный, но «венгерской» эту систему прозвали не поэтому, просто Чарльз Силош по происхождению венгр.
Существует немало разновидностей этой системы, но мы остановимся на самой простой и внятной из них. Итак, «по-венгерски» любой идентификатор составляют из двух частей:
- префикса, записанного строчными буквами, который указывает на тип объекта, и
- спецификатора, начинающегося с прописной буквы.
Например, префикс iобозначает целый тип. Тогда координаты точки на экране можно хранить в двух переменных:
Var
iX, iY: integer; или
iXCoord, iYCoord: integer; или iCoordX, iCoordY: integer;
Если имеется в виду не точка, а мяч, то идентификатор легко приспособить и к этому случаю:
Var
iXBall, iYBall: integer;
Префикс может также отражать назначение объекта:
c(counter) - счётчик; f(flag) - переменная логического типа;
p(pointer) - указатель;
n, num(number) - число, количество чего-либо; cur(current) - текущее значение; tmp(temporal) - временное значение.
Вы можете выработать свою систему наименования, но некоторые распространённые префиксы желательно при этом учитывать.
b, flg |
переменная логического типа bootean |
b |
переменная целого типа byte |
i |
переменная целого типа integer |
g_ |
глобальная переменная |
r |
переменная вещественного типа single, double |
a, arr |
массив (array) |
h |
описатель (handle) |
x,y,z |
координаты точки |
dx, dy |
приращение координат |
T |
названия типов |
F |
названия полей |
С |
названия классов (стиль языка C++) |
id, idx |
индекс, идентификатор |
frm |
форма |
cbo |
комбинированный список |
lst |
список |
txt |
текстовое поле |
cmd |
командная кнопка типа TButton |
sbt |
командная кнопка типа TSpeedButton |
sb |
полоса прокрутки типа TScrollBar |
ico, pic, img, bmp |
рисунок |
iml |
список рисунков типа TImageList |
mnu |
меню |
tmr |
таймер типа TTimer |
opt |
переключатель |
Этот список вы можете продолжить сами - место в таблице предусмотрительно оставлено!
Глобальные константы обычно записывают прописными буквами, разделяя отдельные слова знаком подчёркивания:
Const
MAX_WIDTH= 20;
MAX_HEIGHT= 24;
Ну, вот, теперь вы можете «обзывать» объекты строго по-научному!