AUTOSAR C++14 Rule A2-7-2
Sections of code shall not be "commented out"
説明
ルール定義
Sections of code shall not be "commented out".
根拠
コードのコメント アウトはお勧めしません。コメント アウトされたコードは、コンパイル エラーにはならず、周囲のコードと非同期のままになる可能性があります。後で、そのコードのコメントを解除すると、予期せぬ問題が発生する可能性があります。
加えて、/* */ で囲まれた C スタイルのコメントは入れ子をサポートしていません。/* で始まるコメントは、*/ が後続の入れ子のコメントの末尾として意図されている場合でも先頭の */ で終わります。既にコメント アウトされているコードのセクションにコメントが含まれている場合は、コンパイル エラー (または少なくとも意図されたものより少ないコードのコメント アウト) になる可能性があります。
コメントは、コード自体では明らかでないコードの側面を説明するためにのみ使用してください。
Polyspace 実装
チェッカーは内部でヒューリスティックな方法を使用してコメントアウトされたコードを検出します。たとえば、#、;、{、} などの文字はコードを含む可能性があるコメントを示します。このようなコメントは他のメトリクスに対して評価されて、コメントになりすましたコードである可能性を判断します。たとえば、数個の単語が間に記号をはさまずに連続していれば、この可能性は減少します。
チェッカーは、コードを含んでいても次のコメントに対してはフラグを設定しません。
- /**、- /*!、- ///、または- //!で始まる doxygen コメント。
- 同じ記号を複数個繰り返すコメント。たとえば、次の場合の - =記号。- // ===================================== // A comment // =====================================*/ 
- ファイルの最初の行のコメント。 
- C スタイル ( - /* */) と C++ スタイル (- //) が混在したコメント。
チェッカーは、このようなコメントがドキュメンテーション目的か、または事前に考慮されたうえで意図的に入力されたものと見なします。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 構文規則 | 
| カテゴリ: Required、Non-automated |