Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Правила_именования_идентификаторов.doc
Скачиваний:
0
Добавлен:
10.07.2019
Размер:
119.81 Кб
Скачать

Соглашения об именовании идентификаторов

Введем правило именования идентификаторов:

<префикс> <источник> <имя>,

где префикс представляет собой короткое слово, содержащее сведения о типе идентификатора; источник - характеристика происхождения идентификатора: константа, переменная, поле класса и т.п.; имя – название идентификатора, несущее в себе смысловое содержание идентификатора.

1.Имена со смысловой нагрузкой

Одним из способов повышения читабельности кода является использование осмысленных имен для переменных, типов и функций. Имена типов (type name) должны включать название фактически используемых типов; например, int – это имя для значений целочисленного типа (integer), TFont – имя класса шрифтов библиотеки VCL. Имена переменных (variable name) – это названия объявленных переменных некоторого типа.

2.Именование переменных и констант

Название идентификатора начинается с префикса, в котором содержится краткая информация о типе данных. Рекомендуемые значения префиксов для различных типов данных приведены в таблице 2.

Префиксы идентификаторов Таблица 2

Тип данных С++

Тип данных

Object Pascal

Префикс

Характеристика значений

char, signed char

ShortInt

chr

Целое 8 бит

Char, AnsiChar

chr

Символ 8 бит

unsigned char

Byte, ByteBool

by

true/false или целое без знака 8 бит

wchar_t

WideChar

wchr

Символ Unicode размером в слово

short

SmallInt

sint

Целое 16 бит

unsigned short

Word, WordBool

wrd

true/false или целое без знака 16 бит

enum

Перечислимый тип данных

enum

0, 1, 2, …

long, int

LongInt, Integer

int

Целое 32 бит

unsigned long, unsigned int

Cardinal

card

Целое без знака 32 бит

SmallString<n>

String[n]

str

n = 1, 2, … , 255

SmallString<255>

ShortString

str

AnsiString

String

str

float

Real

Устаревшие типы данных

Single

sgl

Вещественное 4 байта

double, Double,

dub

dub

long double, Extended

ext

ext

bool, Boolean, LongBool

bool

bool

void *, Pointer

ptr

ptr

unsigned char *, PChar, PAnsiChar

pchr

pchr

Замечание. В таблице 2 нетрадиционные для языка С++ идентификаторы типов данных взяты из языка Object Pascal. Для использования их программах на языке С++ необходимо добавить директиву

#include <sysdefs.h>.

Класс

Префикс

Класс

Префикс

TObject

obj

TRadioButton

rbtn

TForm

frm

TMainMenu

mm

TTable

tbl

TMenuItem

mi

TQuery

qry

TOpenDialog

od

TStoredProc

sp

TSaveDialog

sd

TDataSource

ds

TListBox

lbox

TDBGrid

dbg

TList

lst

TButton

btn

TStringGrid

sgr

TPanel

pnl

TEdit

edt

TDirectoryListBox

dlb

TActionList

alst

TGroupBox

gbox

TImageList

ilst

TBitBtn

bbtn

TStringList

slst

3. Признак происхождения описания идентификатора

Константа C

Переменная V

Поле класса или записи F

Формальный параметр A

Свойство Р

4. Название идентификатора формулируется с указанием его семантики

5. Допускается именование идентификаторов с отступлением от указанных правил для обозначения локальных рабочих переменных и констант, а также формальных параметров в небольших по объему функциях и процедурах

6. При обработке массивов с помощью операторов цикла использовать для названий индексов буквы i, j, k, l, m.

Примеры идентификаторов

strFDivisionName – переменная типа String, является полем класса, название переменной – DivisionName(Имя раздела)

byCQuantityTables – константа типа byte, название QuantityTables (Количество таблиц)

crdarVConcepts – массив с элементами типа Cardinal, объявлен как переменная, название Concepts (Понятия)

pnlFOpenDirectory – поле класса TPanel, объявлено вероятней всего в потомках класса TForm

lblFDirectoryPath –поле класса TLabel

7. Приведенные примеры показывают, как использовать заглавные буквы в названиях идентификаторов, при этом от использования символа _ (подчеркивание) можно отказаться