exponenta event banner

Правило AUTOSAR C++ 14 M0-1-2

Проект не должен содержать неосуществимых путей

Описание

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

Проект не должен содержать неосуществимых путей.

Объяснение

Это правило помечает ситуации, когда группа операторов является избыточной из-за несинтактических причин. Например, if условие всегда имеет значение true или false. Код, недоступный по синтаксическим причинам, помечается правилом 0-1-1.

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

Внедрение Polyspace

Поиск ошибок и проверка кода проверяют это правило по-разному. Анализ может дать различные результаты.

  • Bug Finder использует Dead code и Useless if шашки для выявления нарушений этого правила.

  • Средство проверки кода не использует проверки во время выполнения для обнаружения нарушений этого правила. Вместо этого программа Code Prover обнаруживает нарушения во время компиляции.

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

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

Примеры

развернуть все

void func (unsigned int arg) {
 if (arg >= 0U) //Noncompliant
     arg  = 1U;
 if (arg < 0U) //Noncompliant
     arg = 1U;
}

Один unsigned int переменная неотрицательна. Оба if условия с использованием переменной всегда являются истинными или всегда ложными и поэтому являются избыточными.

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

Группа: Вопросы, не зависящие от языка
Категория: Обязательно, Автоматизировано
Представлен в R2019a