MISRA C:2012 Rule 16.2

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

Описание

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

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

Объяснение

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

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

Все сообщения в файле отчета начинаются с «MISRA-C операторов switch синтаксиса нормативного ограничения».

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

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

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

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

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

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

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

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

Группа: Операторы Switch
Категория: Требуемая
Категория СМЖЛ: Консультационная