EN JP CN

関数レベルおよびメソッドレベルメトリック

関数レベルおよびメソッドレベルメトリック
名前 説明 メトリックコード ID 言語
コードの行数メソッドまたは関数のコードの行数の計算方法: (最後の行番号) - (最初の行番号) + 1 LOC_METHOD 129C/C++、Java
使用するオペランドの数オペランドは、識別子または定数です。このメトリックは、関数またはメソッドで使用される識別子と定数の合計数を計算します。メソッド名は、識別子でもあります。このメトリックでは、関数呼び出しは演算子であると考えられます。 NOOPUSED 130C/C++、Java
使用する区別可能なオペランドの数現在の関数で使用する固有なオペランド (変数と定数) の数変数は名前によって区別されるため、オーバーライドされた変数の使用は、このメトリックに寄与しません。定数は値によって区別されるため、すべての文字列は固有であると仮定されます。このメトリックでは、関数呼び出しは演算子であると考えられます。 NODISOPUSED 131C/C++、Java
使用する演算子の数関数またはメソッドで使用する演算子の数このメトリックは、変数、バイナリ、三項、単項、フィールドアクセス、インデックスアクセス、呼び出し、新しいインスタンス、expr-class、expression-this、expression-super へのアクセスの合計数を数えます。すべての関数呼び出しは、演算子であると考えられます。 NOOPRUSED 132C/C++、Java
使用する区別可能な演算子の数関数で使用する固有な演算子の数NOOPRUSED と同様ですが、関数呼び出しは、1 つの固有な演算子であると考えられます。たとえば、Msg 関数呼び出しおよび printf 関数呼び出しは、1 回のみ数えられます。 NODISOPRUSED 133C/C++、Java
戻り値の数関数の戻り値ステートメントの数 (戻り値のポイントではない) NORET 134C/C++、Java
循環的複雑度循環的複雑度 (McCabe 循環的複雑度メトリック) は、制御フローグラフによって平面が分割されているエリアの数を示します。 CYCLOMATIC 135C/C++、C#
独立したパスの数出力値は (log_e) (関数/メソッド内のパスの数) です。すべてのループと if ステートメントは、2 種類の独立したパスであると考えられます。C++ の Goto ステートメントは、この計算では考慮しません。各 catch 句は、独立したパスです。 NOINDPATHS 136C/C++、Java
パラメーターの数関数またはメソッドのパラメーター (引数) の数。f(x,y+z, foo (g)) の例では、x、y+z、g は、数が 3 となるよう他の関数に渡されるパラメーターです。 NOPARMS 137C/C++、C#、Java
固有の関数への呼び出しの数(メトリックを計算する) 関数またはメソッドから他の関数またはメソッドへの呼び出しの数同じ関数またはメソッドへの呼び出しの数によって、このメトリックに 1 のみが追加されます。 NOCALLS 138C/C++、Java
クラス外の呼び出しの数クラス外の呼び出しの数 (異なる "this" を持つメソッドへの呼び出しの数):メソッドでは、このメトリックは、呼び出しの総数から、同じクラス (それ自身を含む) の他のメソッドへの呼び出し数を差し引いたものです。メソッドでない関数では、このメトリックは呼び出しの総数と等しくなります。 NOCALLSOC 139C/C++、Java
他の関数に渡されるパラメーターの数他の関数に渡されるパラメーターの数。この例では、foo (int i) { bar (1, 2, 3); 700 (1); } 数は 4 です NOPAROTHER 140C/C++、Java
実行可能ステートメントの数関数またはメソッドの実行可能な空白ステートメントの数。実行可能ステートメントは、a+=b などの演算子、または、f(s+y, z) などの関数呼び出しです。 NOEXSTAT 141C/C++、Java
ステートメントの数式と制御ステートメント (if、for、while) の数このメトリックは、関数またはメソッドの NOCONTROLSTAT、NOEXSTAT、NOMDECLSTAT の合計です。 NOSTAT 142C/C++、Java
ループの数現在の関数の for、while、do-while ステートメントの数 NOLOOPS 143C/C++、Java
条件付きステートメントの数現在の関数の if および switch ステートメントの数 NOIF 144C/C++、Java
else および case ステートメントの数現在の関数の else および case ステートメントの数。デフォルトステートメントは含まれていません。 NOBRANCH 145C/C++、Java
最大レベルの制御ネスト最大レベルのネスト制御ステートメント (if、switch、for、while、do-while ステートメント)初期 MAXLEVEL (演算子のない関数など) は 1 です。 MAXLEVEL 146C/C++、C#、Java
平均レベルの制御ネスト関数またはメソッドの実行可能ステートメントの数の平均値。関数のすべてのステートメントのそのレベルの各実行可能ステートメントの総数を、実行可能ステートメントの数で割ることにより算出します。実行可能ステートメントの数が 0 の場合、AVERLEVEL は 0 です。 AVERLEVEL 147C/C++、Java
ローカルの宣言の数関数内でローカルで宣言されるデータアイテムの数 NOLOCDECL 148C/C++、Java
条件付きアークの実行可能ステートメントの最大数条件付き arc のブランチのスパン内にある実行可能ステートメントの最大数 MAXCONDSPAN 149C/C++、Java
関数またはメソッドの制御グラフの条件付き arc の数関数またはメソッドの制御グラフの条件付きブランチの数 (if、switch、do、while、for ステートメント) NOCONDARCS 150C/C++、Java
関数またはメソッドの制御ステートメントの数制御ステートメントの数 (関数またはメソッド内で制御フローを操作するステートメント)このメトリックは、ループまたは条件付きステートメント (if、switch、do、while、for) の数、制御を渡すステートメント (return、break、continue、goto) の数、try-catch ステートメントの数を計算します。 NOCONTROLSTAT 151C/C++、Java
関数またはメソッドの宣言ステートメントの数関数またはメソッドの宣言ステートメントの数。ローカル配列やローカル変数の宣言など。これは、1 つの宣言ステートメントはいくつかのローカル変数を宣言できるため、NOLOCDECL とは異なります。 NOMDECLSTAT 152C/C++、Java
グローバル変数へのアクセス回数関数またはメソッド外で定義された変数へのアクセス (読み書き) 回数 NOACCTOGLOB 153C/C++、Java
宣言されたローカル変数のバイト数このメトリックの計算方法の詳細については、組み込み型のサイズの指定を参照してください。 BYTESLOCDECL 154C/C++
関数のパラメーターのバイト数このメトリックの計算方法の詳細については、組み込み型のサイズの指定を参照してください。 BYTESPARMS 155C/C++
他の関数に渡されるパラメーターのバイト数このメトリックの計算方法の詳細については、組み込み型のサイズの指定を参照してください。 BYTESPAROTHER 156C/C++
プロトタイプされていない関数への呼び出しの数プロトタイプされていない関数への呼び出しの数。このメトリックは、コードの完全性に依存しています。コードがインクルードなしでコンパイルされる場合、メトリックのみが呼び出しの数となります (プロトタイプされる関数がないため)。 NOCALLSNP 159C/C++
グローバル変数からの読み取り回数グローバル変数からの読み取り回数 READFGLOBAL 160C/C++、Java
グローバル変数への書き込み回数グローバル変数への書き込み回数 WRITETGLOBAL 161C/C++、Java
関数やメソッドにコメントなし、コードの空行なし関数またはメソッドのコードの行数 (コメント行と空行を除く) NCNBLOC_METHOD 162C/C++、C#、Java
高い循環的複雑度高い循環的複雑度では、論理的ブール値演算子が決定カウントに含まれます。Klocwork が論理的ブール値演算子 (&& または |) を条件付きステートメントで検出すると常に、EXTCYCLOMATIC が 1 増加します。Klocwork が考慮する条件文は、次のとおりです。If、IfElse、While、DoWhile、For、Switch。 EXTCYCLOMATIC 164C/C++
プレーンの循環的複雑度循環的複雑度 (メトリックコード 135) と同様ですが、プレーンコードで計算されます (プリプロセッサ展開前)。マクロ定義から生成されるどのような条件付きステートメントも、PLAINCYCLOMATIC メトリックにはなりません。 PLAINCYCLOMATIC 165C/C++
プレーンの高循環的複雑度高循環的複雑度 (メトリックコード 164) と同様ですが、プレーンコードで計算されます (プリプロセッサ展開前)。マクロ定義から生成されるどのような条件付きステートメントも、PLAINEXTCYCLOMATIC メトリックにはなりません。 PLAINEXTCYCLOMATIC 166C/C++