MISRA C++:2008 Rule 2-10-1
Different identifiers shall be typographically unambiguous.
説明
ルール定義
Different identifiers shall be typographically unambiguous. 1
根拠
文字列として似ているが、異なる識別子を使用する場合、コード内で意図せず間違った識別子を使用する可能性があります。このように文字列が似ていて間違いやすい識別子は、診断が困難なバグを引き起こす可能性があります。
明確に区別できる識別子を使用してください。以下の方法を組み合わせて異なる識別子を作成しないでください。
大文字の代わりの小文字の使用、およびその逆。
アンダースコア文字の有無。
文字
Oと数字0との交換。文字
Iと数字1との交換。文字
Iと文字lとの交換。文字
Sと数字5との交換。文字
Zと数字2との交換。文字
nと文字hとの交換。文字
Bと数字8との交換。2 文字
rnと 1 文字mとの交換。
Polyspace 実装
異なる 2 つの識別子の違いが、前述のリストで挙げられているあいまいな文字の組み合わせによるものの場合、Polyspace® は欠陥を報告します。ルール チェッカーは、このルールをチェックするときに変数の完全修飾名を考慮しません。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: Lexical Conventions |
| カテゴリ: 必要 |
バージョン履歴
R2013b で導入1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.