Стандарт стилевого оформления исходного кода DELPHI
Страница 8. Операторы


 

Операторы

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

Это простой оператор:
A := B; 
Это составной или структурированный оператор:
begin
B := C;
A := B;
end;

Простые операторы

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

MyValue :=
MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы

Составные операторы всегда заканчиваются точкой с запятой.
begin
MyStatement;
MyNext Statement;
MyLastStatement;
end;

Присвоения и выражения

Каждое присвоение и каждое выражение должно располагаться на разных строках.
Правильно
a := b + c; 
Inc(Count);
Неправильно
a := b + c; Inc(Count);

Объявление локальных переменных

Локальные переменные должны иметь стиль Camel Caps. Для локальных переменных префикс F не требуется.
var
MyData: Integer;
MyString: string;
Все переменные с их типами, особенно поля класса, должны быть объявлены на различных строках.

Объявление массивов

В объявлении массива перед и после квадратных скобок должны стоять пробелы.
type
TMyArray = array [0..100] of Char;

Оператор if

Оператор if всегда должен располагаться по крайней мере на двух строках
Неправильно
if A < B then DoSomething; 
Правильно
if A < B then 
DoSomething;

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

Неправильно

 if A < B then begin
DoSomething;
DoSomethingElse;
end else begin
DoThis;
DoThat;
end;

Правильно

 if A < B then
begin
DoSomething;
DoSomethingElse;
end
else
begin
DoThis;
DoThat;
end;

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

Правильно
 if I > 0 then 
DoSomething;
Неправильно
 if (I > 0) then
DoSomething;

Оператор for

Неправильно

for i := 0 to 10 do begin
DoSomething;
DoSomethingElse;
end;

Правильно

 for i := 0 to 10 do
begin
DoSomething;
DoSomethingElse;
end;

for I := 0 to 10 do
DoSomething;

Оператор while

Неправильно

 while x < j do begin
DoSomething;
DoSomethingElse;
end;

Правильно

 while x < j do
begin
DoSomething;
DoSomethingElse;
end;
while x < j do
Something;

Оператор repeat until

Правильно

 repeat
x := j;
j := UpdateValue;
until j > 25;

Оператор case

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:

Правильно

 case ScrollCode of
SB_LINEUP, SB_LINEDOWN:
begin
Incr := FIncrement div FLineDiv;
FinalIncr := FIncrement mod FLineDiv;
Count := FLineDiv;
end;
SB_PAGEUP, SB_PAGEDOWN:
begin
Incr := FPageIncrement;
FinalIncr := Incr mod FPageDiv;
Incr := Incr div FPageDiv;
Count := FPageDiv;
end;
else
Count := 0;
Incr := 0;
FinalIncr := 0;
end;

Оператор try

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:

Правильно

try
try
EnumThreadWindows(CurrentThreadID, @Disable, 0);
Result := TaskWindowList;
except
EnableTaskWindows(TaskWindowList);
raise;
end;
finally
TaskWindowList := SaveWindowList;
TaskActiveWindow := SaveActiveWindow;
end;

 
« Предыдущая статья   Следующая статья »