Верификация кода

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Даже если ваш код выполняется без ошибок и всего вашего тестового прогона без отказов, код может все еще иметь некоторые дефекты. Например, это может:

  • Измените глобальные переменные, защищенные идентификаторы, переменные окружения и формальные параметры.

  • Объявите локальные переменные или формальные параметры и не используйте их впоследствии.

  • Содержите неопределенные записи областей или доменных интерфейсов.

Чтобы гарантировать, что ваш код не вводит такие дефекты, используйте функцию prog::check, чтобы проверить его. Используйте эту функцию, чтобы проверять ваши процедуры, области и функциональные среды. Предположим, что вы записали следующую процедуру:

f := proc(x, n)
  local a, b, c;
begin
  a := m; b := a;
  if x > 0 then
    x := level(b, 2)
  else
    x := -level(b, 2)
  end_if;
end:

Когда вы вызываете эту процедуру, она не делает ошибки:

f(42, 24)

Чтобы проверять f на общие дефекты программирования, используйте prog::check. При вызове prog::check можно задать, насколько подробный отчет должен быть. Эта установка называется информационным уровнем отчета. Второй аргумент управляет информационным уровнем отчета, сгенерированного prog::check. Используйте опции, чтобы видеть определенные дефекты или вызвать prog::check без опций, чтобы видеть все общие дефекты, которые MuPAD® находит в процедуре. Для процедуры f prog::check с информационным уровнем 3 сообщает об этих дефектах:

prog::check(f, 3)
Critical usage of 'level' on local variable '
Critical usage of 'level' on local variable '
Global idents: {m} in [f]
Unused local variables: {c} in [f]
Function 'level' applied to variables: {b} in [f]
Warnings: 3 [f]

Для списка всех доступных параметров смотрите страницу справки prog::check.