Правила создания идентификаторов на Object Pascal
Материал из GedeminWiki
- Идентификаторы набираются в паскалевском стиле, т.е. строчными буквами с первой прописной и каждая логическая часть идентификатора (если таковые имеются) начинается с прописной буквы. Например:
MultiWordIdentifier
Исключения из этого правила составляют:
- Названия Windows сообщений и Windows константы, которые набираются в стиле принятом для констант в C, т.е. в верхнем регистре.
- Префикс идентификаторов констант набирается в нижнем регистре.
Если идентификатор должен быть длинным, для того, чтобы передать смысл — пусть он будет длинным.
Префиксы
- Название типа должно начинаться с буквы T.
- Название типа-указателя должно начинаться с буквы P.
- Название полей класса, используемых для хранения значений properties, должно начинаться с буквы F.
- Идентификаторы формальных параметров функций или процедур должны начинаться с буквы A (или An, если идентификатор — существительное, начинающееся с гласной, т.е. действует правило для неопределенных артиклей английского языка). Данное правило может не применяться, если не возникает конфликтов по идентификаторам формальных параметров и идентификаторам локальных или глобальных переменных.
- Типы исключений (наследники от Exception) должны именоваться с первой буквы E.
- Функции и процедуры используемые для доступа к значению property должны начинаться со слов Get и Set для чтения и записи соответственно.
- Значения properties по умолчанию должны задаваться как константы, идентификаторы которых состоят из префикса Def и идентификатора property.
- Названия сообщений, используемых в пределах одной программы (т.е. не регистрируемых) должны начинаться с префикса AM_ (auxiliry message).
- Названия констант, образующих логическую группу, должны начинаться с префикса иденцифицирующего эту группу, причем префикс набирается строчными символами. Пример: константы, обозначающие цвета могут начинаются с префикса cl (color), а названия месяцев с префикса m (month).
- Для компонент, помещаемых на форму, префикс создается из сокращенного названия типа компоненты. (Например, TButton — btn, TDBGrid — dbgr, TListBox — lb, etc).
Примеры:
type
PDouble = ^Double;
const
DefValue = -1;
type
TMyClass = class
private
FValue: Integer;
function GetValue: Integer;
procedure SetValue(Avalue: Integer);
public
property Value: Integer read GetValue write SetValue
default DefValue;
end;
EMyClassError = class(Exception);
const
AM_MYMESSAGE = WM_USER + 17;
Примеры наименований компонент:
btnAdd — кнопка Добавить, типа TButton. btnDelete — кнопка Удалить, типа TButton. lbFileList — ListBox со списком файлов. cbDirectory — ComboBox со списком каталогов. dbgrUser — TDBGrid с данными по пользователям.