Number of local non-static variables exceeds threshold
The number of local nonstatic variables in a function is greater than the defined threshold
Since R2021a
Description
This defect is raised on a function when the number of local nonstatic variables in the
function is greater than the defined checker threshold. For details about how Polyspace
calculates the number of local nonstatic variables in a function, see Number of Local Non-Static Variables
.
Polyspace® uses the default threshold 20 unless you specify a threshold. To specify a
selection file where you can set the threshold, use the option Set checkers by file (-checkers-selection-file)
or Checkers activation file
(-checkers-activation-file)
.
When you import comments from previous analyses by using polyspace-comments-import
, Polyspace copies any review information on the code metric Number of Local Non-Static Variables
in the previous
result to this checker in the current result. If the current result contains the same code
metric, the review information is copied to the code metric as well.
Risk
Violation of this checker might indicate that:
The function is overly long.
The function performs many tasks rather than one specific task.
These factors make the module difficult to maintain and debug.
Fix
To fix this check, either refactor your code, or change the checker threshold. When refactoring your code:
Consider splitting a function into smaller modules that performs a specific task.
Consider bundling variables that have a similar role into containers such as classes, structures, vectors, or maps.
A best practice is to check the complexity of a module early in development to avoid costly post-development refactoring.
Examples
Check Information
Group: Software Complexity |
Language: C | C++ |
Acronym:
SC08
|
Default Threshold: 20 |
Version History
Introduced in R2021a