Сложность дерева вызова файла больше заданного порога
Сложность дерева вызова файла представляет сложность между разными уровнями ее дерева вызова функции. Polyspace® вычисляет сложность дерева вызова файла как:
Call tree Complexity = number of call occurrences – number of function definitions + 1 | (1) |
Estimated Function Coupling
Polyspace использует порог по умолчанию 20, если вы не задаете порог. Чтобы задать файл выбора, где можно установить порог, используйте Set checkers by file (-checkers-selection-file)
. Также смотрите Сложность Reduce Software при помощи Средств проверки Polyspace.
Когда вы импортируете комментарии из предыдущих исследований при помощи polyspace-comments-import
, Polyspace копирует любую информацию об анализе о метрике кода Estimated Function Coupling
в предыдущем результате к этому средству проверки в текущем результате. Если текущий результат содержит ту же метрику кода, информация об анализе копируется в метрику кода также.
Нарушение этого средства проверки может указать что:
Взаимозависимость функций в файле неприемлемо высока.
Изменения в одной функции в файле могут ввести ошибки или неожиданное поведение в других функциях в файле.
Многократное использование одной функции файла может затруднить из-за взаимозависимостей с другими функциями.
Эти факторы делают файл трудным обеспечить, протестировать, и отладить.
Чтобы зафиксировать эту проверку, или осуществить рефакторинг ваш код или изменяют порог средства проверки. При рефакторинге кода спроектируйте функции в коде так, чтобы:
Каждая функция выполняет одну определенную задачу.
Функции имеют минимальные побочные эффекты на других функциях.
Лучшая практика должна проверять сложность модуля рано в разработке, чтобы избежать дорогостоящего рефакторинга постразработки.
Группа: сложность программного обеспечения |
Язык: C | C++ |
Акроним:
SC03
|
Порог по умолчанию: 20 |