exponenta event banner

MISRA C:2012 Правило 16.2

Метку коммутатора следует использовать только в том случае, если наиболее близким составным оператором является тело оператора коммутатора.

Описание

Определение правила

Метку коммутатора следует использовать только в том случае, если наиболее близким составным оператором является тело оператора коммутатора.

Объяснение

Стандарт C позволяет размещать метку переключателя (например, case или default) перед любым оператором, содержащимся в теле оператора switch. Такая гибкость может привести к неструктурированному коду. Чтобы предотвратить неструктурированный код, убедитесь, что метка коммутатора отображается только на самом внешнем уровне тела инструкции switch.

Дополнительное сообщение в отчете

Все сообщения в файле отчета начинаются с «MISRA-C switch statements syntasis regulative restriction».

  • Инициализаторы не должны использоваться в позициях переключения.

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

  • Все положения о переключениях должны отображаться на одном уровне.

  • Положение о коммутаторах должно содержать только метки и предложения о коммутаторах, и никакого другого кода.

  • Инструкция switch должна содержать только метки switch и предложения switch, и никакого другого кода.

Поиск неисправностей

Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.

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

Группа: Операторы переключения
Категория: Обязательно
СМЖЛ Категория: Консультативные услуги