HA.OPTIMIZE

このチェッカーは、直接使用されていないヘッダーファイルで、代わりのヘッダーファイルの候補となるものをレポートします。

ヘッダー解析リファクタリングチェッカー (HA.*) は不要な、または欠落した推移的 include を検出します。ヘッダー問題を修正すると、コードのメンテナンス性が向上します。

Klocwork デスクトップ解析でのヘッダー解析リファクタリングチェッカーの使用方法:

  • Klocwork Desktop C/C++ Plug-in for Visual Studio の場合: このためヘッダー問題は指摘リストに表示されます。これらのチェッカーの 1 つ以上を無効にすると、関連する指摘事項が指摘リストに表示されません。また、[ヘッダーの最適化] メニューオプションによって関連するリファクタリングも実行されません。
  • Klocwork Desktop C/C++ Plug-in for Eclipse の場合:これらのチェッカーはデスクトップ解析の一部として実行されません。このためヘッダー問題は指摘リストに表示されません。ただし、これらのチェッカーの 1 つ以上を無効にすると、[ヘッダーの解析] メニューオプションと [ヘッダーの最適化] メニューオプションによって、関連する指摘事項は検出されません。
  • kwcheck for C/C++ の場合:これらのチェッカーは使用されません。
  • Klocwork Desktop for C/C++ の場合これらのチェッカーは使用されません。

脆弱コード例

File a.h:
コピー
int FOO = 0x01;
File b.h:
コピー
#include "a.h"
File a.cpp:
コピー
#include "b.h" // HA.OPTIMIZE: Header file 'b.h' is not used directly.It can be replaced with header(s): 'a.h'.

int  bar = FOO;

int  main(){ 
         return  0;
}

関連チェッカー