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
描述
规则定义
An identifier declared to be an object or type shall be defined in a block that minimizes its visibility.
理由
在尽可能小的模块作用域内定义变量,可以降低这些变量日后被意外访问的可能性。
例如,如果某个对象仅在一个函数中访问,请将该对象声明为该函数的局部对象。
Polyspace 实现
规则检查项会判断某个对象是否仅在一个模块中使用。如果对象在一个模块中使用,但在该模块外部定义,检查项将判定为违规。
如果您在基于范围的 for 循环外部声明了一个变量,但只在循环模块内部使用它,则 Polyspace® 会标记该变量。如果您无法在循环模块内部声明该变量,请在结果或代码中使用注释对此结果进行申述。请参阅通过 Bug 修复或申述在 Polyspace 用户界面中处理结果。
故障排除
如果您预期会出现违规,而 Polyspace 未报告该违规,请参阅诊断为何编码规范违规未按预期显示。
示例
检查信息
| 组:基本概念 |
| 类别:必需、自动 |