Соглашения о наименовании

Экземпляры компонентов

Важный момент в использовании средств визуального программирования - именование экземпляров компонентов. В то время, когда наиболее актуальной версией среды разработки являлась 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 могут использоваться, однако их стоит избегать: по таким названиям трудно определить назначение компонента. Кроме этого, подобные идентификаторы создают лишние сложности в процессе разработки.

results matching ""

    No results matching ""