himl_0006: код MATLAB, если / elseif / еще шаблоны

ID: Заголовокhiml_0006: код MATLAB®, если / elseif / еще шаблоны
Описание

Для кода MATLAB с if / elseif/ else построения, отключите построения с else оператор, который включает, по крайней мере, значимый комментарий. Итоговый else оператор не требуется, если нет никакого elseif.

Объяснение
  • Безопасное программирование

  • Удобочитаемость

  • Трассируемость

Проверки Model AdvisorПроверяйте if/elseif/else шаблоны в блоки MATLAB function (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'
    IEC 61508-3, Таблица A.4 (3) 'Безопасное программирование'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (b) 'Использование языковых подмножеств'
    ISO 26262-6, Таблица 1 (d) 'Использование защитных методов реализации'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'
    EN 50128, таблица A.3 (1) 'безопасное программирование'

  • DO-331, Раздел MB.6.3.1.e 'Соответствие к стандартам'
    DO-331, Раздел MB.6.3.2.e 'Соответствие к стандартам'
    DO-331, Раздел MB.6.3.3.e 'Соответствие к стандартам'

Смотрите также
В последний раз измененныйR2018b
Примеры

Рекомендуемый

  • if u > 0
        y = 1;
      end
    

  • if u > 0
        y = 1;
      elseif u < 0
        y = -1;
      else
        y = 0;
      end
    

  • y = 0;
      if u > 0
        y = 1;
      elseif u < 0
    y = -1;
      else
        % handled before if
      end
    

Не рекомендуемый

  •   % empty else
      y = 0;
      if u > 0
        y = 1;
      elseif u < 0
        y = -1;
      else
      end
    

  •   % missing else
      y = 0;
      if u > 0
        y = 1;
      elseif u < 0
        y = -1;
      end