AUTOSAR C++14 Rule A5-16-1
The ternary conditional operator shall not be used as a sub-expression
説明
ルール定義
条件付き三項演算子を部分式として使用してはなりません。
根拠
条件付き三項演算子が部分式として使用されると、式全体の可読性が損なわれ、保守が困難になります。三項演算子の結果を変数に代入し、後続の演算でその変数を使用することで、多くの場合、式は視覚的にわかりやすくなります。
Polyspace 実装
チェッカーは、いくつかの例外を除き、部分式で条件付き三項演算子が使用された場合にフラグを立てます。次のような場合における三項演算子の使用は例外と見なされます。
結果が変数に代入される。
結果が関数の引数として使用される、または結果が関数から返される。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 式 |
| カテゴリ: Required、Automated |
バージョン履歴
R2019b で導入