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