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