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;
}