пятница, 7 ноября 2014 г.

Регистр букв

Эта заметка является продолжением к заметкам Стиль оформления кода. Вместо вступления и Настройки окружения.

Регистр букв

Во время кодирования, при выборе регистра букв, необходимо соблюдать следующие правила:

  • все зарезервированные слова и директивы пишутся в нижнем регистре;
  • при повторном использовании идентификатора используется тот вариант написания, который использовался при первом объявлении этого идентификатора.

Во время проектирования, при составлении новых идентификаторов, необходимо руководствоваться общим правилом (см. ниже), а также соглашением об именовании (планируется отдельной заметкой).

Особым образом пишутся директивы компилятора (см. ниже).

Общее правило для идентификаторов

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

HINT: соглашение об именовании может содержать исключения из этого правила. Например идентификаторы вида: WM_ACTIVATE, DWORD, BITMAPFILEHEADER, some_table_filed и другие.

Если наименование идентификатора

то

Пример

1

состоит из одной буквы

допускается любой регистр

i, j, k: Integer;
s, t, u: string;
C: Cardinal;
D: TDateTime;

2

состоит из одного слова (в том числе аббревиатуры и сокращения)

начинается с заглавной буквы

Count
Value
Next
Rtti
Vcl
Db
Eof
Tmp
Src
Dst
Cnt

3

состоит из нескольких слов

слова пишутся слитно, каждое с заглавной буквы

FirstChar
DoSomethingElse
RttiContext
ItemsCnt

4

начинается с префикса, указывающего на тип идентификатора

префикс пишется строчными буквами

poScreenCenter
fsModal

btnOk
frmMain
acSetup

5

начинается с буквы, указывающей на вид идентификатора

буква пишется в верхнем регистре

SResourceString
EMyException
ISomeInterface
TAnotherType
FClassField
AMethodParameter
LLocalVariable

Директивы компилятора

Выбор регистра букв при написании директив компилятора сводится к простому правилу:

  • все однобуквенные директивы всегда записываются в верхнем регистре;
  • директивы, влияющие на текст компилируемого кода, записываются в нижнем регистре;
  • все остальные директивы - записываются в верхнем регистре.

Параметры всех директив пишутся в соответствии с общим правилом (см. выше).

Включение части кода из другого файла

Для включения (вставки) текста из указанного файла в текущий фрагмент кода при компиляции используется директива {$include} или {$I}.

Если включаемый файл содержит набор директив для компилятора и не содержит "полезный" код, следует использовать краткую форму написания в верхнем регистре:

{$I OurCompanyDefinitions.inc}

В противном случае используется полная форма, и записывается в нижнем регистре:

{$include SomeFileWithCode.inc}

Условная компиляция

Директивы условной компиляции кода, такие как {$define SomeSymbol}, {$ifdef SomeSymbol}, {$else}, {$endif} и т.п., пишутся в нижнем регистре.

См. также: определения условной компиляции.

Регионы

Редактор кода Delphi для удобства навигации позволяет сворачивать/разворачивать логические единицы исходного кода.

Для выделения произвольной части кода в сворачиваемую единицу используются регионы. Для этого необходимый текст обрамляется директивами {$region 'Region Description'} и {$endregion}, которые пишутся в нижнем регистре. Описание региона ('Region Description') игнорируется компилятором, поэтому должно быть удобочитаемым и подчиняться правилам естественного языка.

Нижний регистр в написании этих директив является исключением из основного правила и следует из соображения, что они не должны бросаться в глаза и отвлекать на себя внимание.

1 коммент.:

Николай Зверев комментирует...

P.S.: следует различать понятия "директива" и "директива компилятора". Первое - это "почти" зарезервированные слова (слова вида overload, message, inline, deprecated...), второе - указания компилятору в виде комментария с символа $.

Отправить комментарий

.

.