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