AUTOSAR C++14 Rule M6-3-1

Оператор, формирующий тело переключателя, в то время как, делает..., в то время как или для оператора будет составной оператор.

Описание

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

Оператор, формирующий тело переключателя, в то время как, делает..., в то время как или для оператора будет составной оператор.

Объяснение

Составной оператор включен в фигурные скобки.

Если блок кода, сопоставленный с итерацией или оператором выбора, не содержится в фигурных скобках, можно сделать ошибки об ассоциации. Например:

  • Можно неправильно сопоставить строку кода с итерацией или оператором выбора из-за его добавления отступа.

  • Можно случайно поместить точку с запятой после оператора выбора или итерации. Из-за точки с запятой линия после оператора больше не сопоставляется с оператором даже при том, что вы предназначили в противном случае.

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

Реализация Polyspace

Средство проверки отмечает for циклы, где первая лексема после for оператор не является левой фигурной скобкой, например:

for (i=init_val; i > 0; i--)
   if (arr[i] < 0)
      arr[i] = 0;
Подобные проверки выполнены для switchдля и do..while операторы.

Вторая линия сообщения на панели Result Details указывает, какой оператор нарушает правило. Например, в предыдущем примере, вторая линия сообщения утверждает что for цикл нарушает правило.

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

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

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

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