Мельница данных  (05.07.2022)
Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
       
1  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

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

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
       
if A < B then DoSomething; 
       
1if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
       
1  if A < B then begin
2    DoSomething;
3    DoSomethingElse;
4  end else begin
5    DoThis;
6    DoThat;
7  end;
       
01  if A < B then
02  begin
03    DoSomething;
04    DoSomethingElse;
05  end
06  else
07  begin
08    DoThis;
09    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

       
1  for i := 0 to 10 do begin
2    DoSomething;
3    DoSomethingElse;
4  end;
       
1  for i := 0 to 10 do
2  begin
3    DoSomething;
4    DoSomethingElse;
5  end;
6
7  for I := 0 to 10 do
8    DoSomething;

Оператор "while"

       
1  while x < j  do begin
2    DoSomething;
3    DoSomethingElse;
  end;
       
1  while x < j do
2  begin
3    DoSomething;
4    DoSomethingElse;
5  end;
6
7  while x < j do
8    Something;

Оператор "repeat..until"

       
1  repeat
2    x := j;
3    j := UpdateValue;
4  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
       
01  case LCode of
02    1, 3:
03      begin
04        Incr := FIncrement + 1;
05        FinalIncr := FIncrement div FLineDiv;
06        Count := FLineDiv;
07      end;
08    2, 4:
09      begin
10        Incr := FPageIncrement;
11        FinalIncr := Incr + 1;
12        Incr := Incr div FPageDiv;
13        Count := FPageDiv;
14      end;
15  else
16    begin
17      Count := 0;
18      Incr := 0;
19      FinalIncr := 0;
20    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
       
01try
02  try
03    EnumItems(CurrentThreadID, LDisable, 0);
04    Result := TaskList;
05  except
06    EnableItems(TaskList);
07    raise;
08  end;
09finally
10  TaskList := SaveList;
11  TaskActive := SaveActive;
end;