Область видимости функции языка больше заданного порога
Осциллограф языка представляет стоимость поддержания или обновления функции. Например, если операнд много раз происходит в функции, то изменять название операнда является дорогостоящим. Осциллограф языка такой функции был бы высок. Этот дефект повышен, когда область видимости функции языка превышает заданный порог. Для получения дополнительной информации о том, как Polyspace вычисляет осциллограф языка, смотрите Language Scope
.
Примечание
Осциллограф языка, вычисленный Polyspace®, является числом с плавающей точкой. В этом средстве проверки осциллограф языка с плавающей точкой преобразован в целое число путем округления его к второму десятичному разряду и затем умножения его 100.
Polyspace использует порог по умолчанию 400, если вы не задаете порог. Чтобы задать файл выбора, где можно установить порог, используйте Set checkers by file (-checkers-selection-file)
. Также смотрите Сложность Reduce Software при помощи Средств проверки Polyspace.
Когда вы импортируете комментарии из предыдущих исследований при помощи polyspace-comments-import
, Polyspace копирует любую информацию об анализе о метрике кода Language Scope
в предыдущем результате к этому средству проверки в текущем результате. Если текущий результат содержит ту же метрику кода, информация об анализе копируется в метрику кода также.
Нарушение этого средства проверки может указать что:
Изменение в операнде может потребовать, чтобы многие изменились в функции.
Функциональная сила выполнить несколько задач целиком.
Функциональная сила имеет высокую степень взаимозависимости с другими функциями.
Эти факторы делают модуль трудным обеспечить и отладить.
Чтобы зафиксировать эту проверку, или осуществить рефакторинг ваш код или изменяют порог средства проверки. При рефакторинге кода спроектируйте функции в коде так, чтобы:
Каждая функция выполняет одну определенную задачу.
Функции имеют минимальные побочные эффекты на других функциях.
Лучшая практика состоит в том, чтобы проверять сложность модуля рано в разработке, чтобы избежать дорогостоящего рефакторинга постразработки.
Группа: сложность программного обеспечения |
Язык: C | C++ |
Акроним:
SC18
|
Порог по умолчанию: 400 |