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