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