ほとんどのjavancssツールは、ソースコードで与えられたメソッド引数を使用します。変数名は削除されますが、クラス名はFQNではありません。完全に修飾されたクラス名を使用するJava cyclomatic complexityツール
たとえば、次のクラスを指定します。
import java.io.File;
public class Demo {
public void show (java.io.File file) {
//do some thing with file..
}
public void show2(File win) {
//do some thing with win
}
}
Javancssがshow2は私proeccessingのためだけのファイルではなく、java.io.Fileの が付属していることを出力
Nr. NCSS CCN JVDC Function
1 1 1 0 Demo.show(java.io.File)
2 1 1 0 Demo.show2(File)
Average Function NCSS: 1.00
Average Function CCN: 1.00
Average Function JVDC: 0.00
Program NCSS: 4.00
注意を生産、私は完全修飾名が必要です。レポートにFQNを出力できるncssツールはありますか? (私はcoberturaのjavacssとcheckstyleを組み込みました。すべて同じように動作します)
編集(背景) ここでは、それぞれのメソッドについてのcobertutaカバレッジレポートを作成します。私たちは、複雑性が高く、カバレッジが低い方法についての報告を求めています。メソッドのCCNをマップしようとしたとき、上記のケースはいくつかの困難を引き起こしました。 FQNではないクラス名のみを比較することによって(部分的に)解決されました。
循環的複雑さは、制御フローがプログラム内でどの程度複雑であるかを測定します。なぜ完全修飾名が何か違いを生むのでしょうか? –