Пробелы и межстрочные расстояния

Перенос строк

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

Пример:

// ПРАВИЛЬНО:
function CreateWindowEx(dwExStyle: DWORD; 
  lpClassName: PChar; lpWindowName: PChar; 
  dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
  hWndParent: HWND; hMenu: HMENU; hInstance: HINST; 
  lpParam: Pointer): HWND; stdcall;

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

При указании типа переменной перед двоеточием не должно быть пробела, однако он необходим перед идентификатором типа.

Примеры:

// ПРАВИЛЬНО:
procedure Foo(AFirstValue: Integer; ASecondValue: Integer);

// НЕПРАВИЛЬНО:
procedure Foo( AFirstValue :Integer; ASecondValue:Integer );

Слово begin следует располагать на отдельной строке. Кроме этого, нельзя начинать перенесенную строку с бинарного оператора. Также важно не делать переносы там, где обычно не ставится пробел, например, между именем метода и открывающей скобкой или между идентификатором массива и открывающей квадратной скобкой. Если перенос все же нужно сделать, один из вариантов - это перенести строку сразу после скобки, следующей за именем процедуры или функции.

Примеры:

// НЕПРАВИЛЬНО:
while (LongExpression1 or LongExpression2) do begin
  // Оператор
  // Еще один оператор;
end;
// ПРАВИЛЬНО:
while (LongExpression1 or LongExpression2) do 
begin
  // Оператор
  // Еще один оператор;
end;
// ПРАВИЛЬНО:
if (LongExpression1) or 
  (LongExpression2) or 
  (LongExpression3) then

results matching ""

    No results matching ""