exponenta event banner

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

Идентификатор: Заголовокhiml_0006: MATLAB ® код if/elseif/else шаблоны
Описание

Для кода MATLAB с if / elseif/ else конструкции, завершают конструкции с помощью else оператор, который включает, по крайней мере, содержательный комментарий. Финал else оператор не требуется, если нет elseif.

Объяснение
  • Оборонительное программирование

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

  • Отслеживаемость

Проверки помощника по моделиПроверка шаблонов/elseif/else в функциональных блоках MATLAB (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Поднабор языка "
    IEC 61508-3, таблица A.4 (3) «Оборонительное программирование »

  • МЭК 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