MISRA C ++:2008 правил 6-6-5

Функция должна иметь одну точку выхода в конце функции

Описание

Управляйте определением

Функция должна иметь одну точку выхода в конце функции.

Объяснение

Это правило требует, чтобы оператор return произошел как последний оператор в теле функции. В противном случае следующие проблемы могут произойти:

  • Код после оператора return может быть непреднамеренно не использован.

  • Если функция, которая изменяет некоторые ее аргументы, имеет ранние операторы return при чтении кода, это не сразу понятно, какие модификации на самом деле происходят.

Реализация Polyspace

Средство проверки отмечает эти ситуации:

  • Функция имеет больше чем один оператор return.

  • Функция non-void имеет один оператор return только, но оператор return не является последним оператором в функции.

Функция void не должна иметь оператора return. Если оператор return существует, это не должен быть последний оператор в функции.

Обменивайтесь сообщениями в отчете

Функция должна иметь одну точку выхода в конце функции.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: операторы
Категория: необходимый

Введенный в R2013b