Сложность дерева вызова файла больше заданного порога
Сложность дерева вызова файла представляет сложность между разными уровнями ее дерева вызова функции. 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 |