AUTOSAR C++14 Rule M3-4-1
An identifier declared to be an object or type shall be defined in a block that minimizes its visibility
Description
Rule Definition
An identifier declared to be an object or type shall be defined in a block that minimizes its visibility.
Rationale
Defining variables with the minimum possible block scope reduces the possibility that they might later be accessed unintentionally.
For instance, if an object is meant to be accessed in one function only, declare the object local to the function.
Polyspace Implementation
The rule checker determines if an object is used in one block only. If the object is used in one block but defined outside the block, the checker raises a violation.
When you declare a variable outside a range-based for
loop and
use it only inside the loop block, Polyspace® flags the variable. If you cannot declare the variable inside the loop
block, justify this result using comments in your result or code. See Address Results in Polyspace User Interface Through Bug Fixes or Justifications.
Troubleshooting
If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Basic Concepts |
Category: Required, Automated |