Skip to content

Правила форматирования управляющих конструкций


§5 Управляющие конструкции

§5.1 Выражение if. Ключевое слово if отделяется пробелом от условия, условие отделяется пробелом от блока кода.

// ✅ Правильно
if condition { ... }

// ❌ Неправильно
if(condition) { ... }
if condition{ ... }

§5.2 else if/else. else if и else отделяются пробелом от предыдущего блока кода.

// ✅ Правильно
if a > 0 { ... } else if a < 0 { ... } else { ... }

// ❌ Неправильно
if a > 0 { ... }else if a < 0 { ... }else { ... }

§5.3 Цикл for. Ключевое слово for, переменная, ключевое слово in и итератор отделяются пробелами.

// ✅ Правильно
for item in collection { ... }

// ❌ Неправильно
for item in(collection) { ... }
for(item) in collection { ... }

§5.4 Цикл while. Ключевое слово while отделяется пробелом от условия.

// ✅ Правильно
while condition { ... }

// ❌ Неправильно
while(condition) { ... }

§5.5 Метки циклов. Метка соединяется с ключевым словом цикла через : .

// ✅ Правильно
'outer: for i in range(10) { ... }

// ❌ Неправильно
'outer:for i in range(10) { ... }
'outer : for i in range(10) { ... }

§5.6 Оператор Return

§5.6.1 Формат return. Ключевое слово return отделяется пробелом от выражения.

// ✅ Правильно
return 42;
return x + y;

// ❌ Неправильно
return(42);  // отсутствует пробел
return  42;  // лишний пробел

§5.6.2 Пустой return. Пустой return использует только ключевое слово return.

// ✅ Правильно
return;

// ❌ Неправильно
return ;  // лишний пробел
return void;  // void не нужен

§5.7 Оператор Break

§5.7.1 Формат break. Ключевое слово break отделяется пробелом от метки.

// ✅ Правильно
break;
break 'outer;

// ❌ Неправильно
break(outer);  // неправильный синтаксис
break  'outer;  // лишний пробел

§5.8 Оператор Continue

§5.8.1 Формат continue. Ключевое слово continue отделяется пробелом от метки.

// ✅ Правильно
continue;
continue 'outer;

// ❌ Неправильно
continue(outer);  // неправильный синтаксис
continue  'outer;  // лишний пробел