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