Операторы

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

Каждая строка должна содержать максимум один оператор:

++argv;         // Хорошо
--argc;         // Хорошо
++argv; --argc; // ПЛОХО!

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

Составные операторы, это такие операторы, которые содержат список операторов, заключенных в фигурные скобки "{ statements }".

  • Вложенные операторы должны иметь отступ на один уровень больше, чем составной оператор.

  • Открывающая скобка должна стоять в конце строки, начинающей составной оператор; закрывающая скобка должна стоять в начале строки и иметь отступ, такой же, как и составной оператор.

  • Фигурные скобки окружают все операторы, даже одиночные, если они являются частью структуры, такой как if-else или for. Таким образом проще добавлять новые операторы, не допуская ошибок, возникающих из-за забытых скобок.

Оператор return

Оператор return со значением не должен использовать ссылку на родителя, если только это не сделает возвращаемое значение более очевидным:

return;

return myDisk.size();

return (size ? size : defaultSize);

Операторы if, if-else, if else-if else

Все операторы типа if-else должны иметь следующий вид:

if (condition) {
    statements;
}

if (condition) {
    statements;
} else {
    statements;
}

if (condition) {
    statements;
} else if (condition) {
    statements;
} else {
    statements;
}

Примечание: Оператор if следует всегда писать с фигурными скобками {}. Избегайте следующей ошибки:

if (condition) //ПЛОХО! ОТСУТСТВУЮТ СКОБКИ {}!
    statement;

Оператор for

Оператор for должен иметь следующий вид:

for (initialization; condition; update) {
    statements;
}

Пустой цикл for (в котором вся работа выполняется на стадии инициализации, проверки условия и инкрементирования) должны иметь следующий вид:

for (initialization; condition; update);

Оператор while

Оператор while должен иметь следующий вид:

while (condition) {
    statements;
}

Пустой цикл while должен иметь следующий вид:

while (condition);

Оператор do-while

Оператор do-while должен иметь следующий вид:

do {
    statements;
} while (condition);

Оператор switch

Оператор switch должен иметь следующий вид:

switch (condition) {
case ABC:
    statements;
    /* falls through */
case DEF:
    statements;
    break;
case XYZ:
    statements;
    break;
default:
    statements;
    break;
}

Всякий раз, если case предполагает автоматический переход к следующему (отсутствует оператор break), добавляйте комментарий в том месте, где должен быть break. Это показано в примере выше: комментарий /* falls through */.

Каждый оператор switch должен содержать default вариант. Ставить break в инструкции default необязательно, но это защищает от возможной ошибки в будущем, если впоследствии добавят еще операторы case ниже.

Операторы try-catch

Оператор try-catch должен иметь следующий вид:

try {
    statements;
} catch (ExceptionClass e) {
     statements;
}

Оператор try-catch также может быть дополнен блоком finally, который выполняется независимо от того, успешно завершился блок try, или нет.

try {
    statements;
} catch (ExceptionClass e) {
    statements;
} finally {
    statements;
}

Last updated