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

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

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

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

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

Оператор 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;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор 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 LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор try

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