Home > ラーニング > セキュアコーディング > CERT セキュアコーディングスタンダード > 02. 宣言と初期化 (DCL)
視覚的に区別できる識別子を使い、開発中やコードレビューの際に識別子の綴りを見間違えることによって引き起こされるエラーを無くすこと。識別子は、オブジェクト、関数、構造体、共用体、列挙体のタグまたはメンバ、typedef 名、ラベル名、マクロ名、マクロ引数、などを示す。
使用されるフォントによっては、ある種の文字は視覚的によく似ていたり、全く同じ場合さえある。
ひとつかそこいらの視覚的によく似た文字だけ異なるような識別子を複数定義しないこと。
長い識別子の最初の部分を一意かつ見分けやすいようにしてやること。こうすることで、一意でない識別子が引き起こす問題を回避することにもつながる。(「DCL32-C. 相互に可視である識別子が一意であることを保証する」を参照。)
視覚的に区別できる識別子を使用しないと、間違った変数が使用されたり、予期せぬプログラムの動作を引き起こす可能性がある。
| レコメンデーション | 深刻度 | 可能性 | 修正コスト | 優先度 | レベル |
|---|---|---|---|---|---|
| DCL02-C | 低 | 低 | 中 | P2 | L3 |
Compass/ROSE はこのレコメンデーションの違反を検出できる。