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