AUTOSAR C++14 Rule A5-1-1
Literal values shall not be used apart from type initialization, otherwise symbolic names shall be used instead
説明
ルール定義
型を初期化する場合のみリテラル値を使用し、そうでない場合は、代わりにシンボリック名を使用するものとします。
根拠
シンボリック名を使用することによって、コードの可読性と保守性を向上させます。リテラル定数は、その定数が何を表しているかを明確に示すものではありません。
Polyspace 実装
Polyspace® は、switch
ステートメントの式や case
句で、データ型 char
を持つリテラル値以外のリテラル値が使用されている場合、そのリテラル値の使用にフラグを設定します。
Polyspace は、ログ メカニズムでのリテラル値の使用にフラグを設定しません。
Polyspace は、式内のリテラル値 '0
' と '1
' の使用にフラグを設定しません。これは、このような使用がコードのロジックによく含まれているためです。たとえば、'0
' は NULL
ポインターを表します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
グループ: 式 |
カテゴリ: Required、Partially automated |