Соглашения о наименовании
Экземпляры компонентов
Важный момент в использовании средств визуального программирования - именование экземпляров компонентов. В то время, когда наиболее актуальной версией среды разработки являлась Borland Delphi 7, значительная часть работы с компонентами велась в рамках фреймворка VCL.
Экземпляры компонентов, описанных в библиотеке визуальных компонентов Borland, часто имели громоздкие названия. Для удобства автоматически сгенерированные средой разработки идентификаторы изменялись на собственные, оформленные согласно шаблону prefixName. Сокращенное название компонента применялось в качестве префикса идентификатора. Ниже представлены некоторые из них.
| Префикс | Компонент |
|---|---|
| fm | TForm |
| mm | TMainMenu |
| pm | TPopupMenu |
| mi | TMenuItem |
| pmi | TPopupMenuItem |
| lbl | TLabel |
| edt | TEdit |
| mem | TMemo |
| btn | TButton |
| cb | TCheckBox |
| rb | TRadioButton |
| lb | TListBox |
| cbb | TComboBox |
| gb | TGroupBox |
| rg | TRadioGroup |
| pnl | TPanel |
| cl | TCommandList |
| me | TMaskEdit |
| dg | TDrawGrid |
| img | TImage |
| sbx | TScrollBox |
| clb | TCheckListBox |
| spl | TSplitter |
| actl | TActionList |
| act | TAction |
| cht | TChart |
Использование префиксной формы может быть необходимо не столько для получения информации об имени типа компонента, сколько о его сущности. Например, понятно, что обозначенный названием btnExecute объект - кнопка, а имя imgHeader дано объекту-изображению.
Данный способ именования используется и сейчас, однако в стилях оформления кода разработчиков языка часто применяется InfixCaps с полными именами компонентов.
Одна из причин использования полных имен, возможно, связана с появлением фреймворка FMX (FireMonkey) для кросплатформенной разработки, включающего гораздо большее количества компонентов, чем VCL. В рамках работы с ним использование шаблона наименования ComponentObjname может оказаться более удобным.
Оба варианта имен корректны, однако в модулях одного проекта смешение стилей не допускается.
Рекомендуемыми шаблонами идентификаторов экземпляров могут служить следующие примеры:
FormMain
fmMain
ButtonExecute
btnExecute
ImageProductLogo
imgProductLogo
EditPassword
edtPassword
CheckBoxAlternativeMode
cbAlternativeMode
Примечание:
Сгенерированные средой разработки имена наподобиеForm1,Form2,Button3,Edit1могут использоваться, однако их стоит избегать: по таким названиям трудно определить назначение компонента. Кроме этого, подобные идентификаторы создают лишние сложности в процессе разработки.