表1:All-In-One-Eclipseでインストールされるプラグインなど

略称正式名意味
NSMNumber of Static Methods静的メソッドの総数
TLOCTotal Lines of Codeコンパイル単位(注)ごとの空行やコメント行を除いた総行数
CAAfferent Couplingあるパッケージ内のクラス群に依存する、他のパッケージのクラス総数
RMDNormalized Distance|RMA+RMI-1|。この尺度は、0に近いほど良いパッケージの設計であると言える
NOCNumber of Classes総クラス数
SIXSpecialization Index特殊化指標の平均値。NORM×DIT÷NOMで計算される値で、継承関係やメソッドのオーバーライドに関する複雑度を表していると考えておけばよい
RMIInstabilityパッケージの不安定性を表す尺度。CE÷(CA+CE)で定義される。簡単に言うと他のパッケージから依存されているほど低く、他のパッケージに依存しているほど高くなることになる。他のパッケージへの依存度が高いと、依存しているクラスの変更によりこのパッケージ内のクラスも変更しなければならない場合があるため、パッケージとしては不安定と言うことになる
NOFNumber of Attributes総属性数
NOPNumber of Pakckagesパッケージの総数
MLOCMethod Lines of Code空行やコメント行を除いたメソッド内部の総行数
WMCWeighted methods per Classあるクラスのすべてのメソッドのサイクロマチック数の合計
NORMNumber of Overidden Methods祖先クラスに対して、選択した範囲のクラス群がその祖先クラスのメソッドをオーバーライドしている総メソッド数
NSFNumber of Static Attributes静的属性の総数
NBDNested Block Depthネストしたブロックの深さ
NOMNumber of Methods総メソッド数
LCOM*Lack of Cohension of Methodsメソッドの凝集度の欠落を表す尺度。メソッドの凝集度とは、クラスのメソッドと属性の関連性を意味し、凝集性が高いほど、意味的に「閉じた」クラス設計がなされていることになり、良い設計であることを意味する。この尺度はHendeson-Sellers方式によって算出される。Hendeson-Sellers方式では、ある属性Aを利用するメソッドの数をm(A)とした場合、すべての属性に対するm(A)の平均amaとメソッド数mmから、(ama-mm)÷(1-mm)で割った値として算出凝集性の尺度を算出する。この値が低い場合、凝集性が高く、1に近いほど凝集性が低いと言える
VGMcCabe Cyclomatic Complexityマッケーブの提唱するサイクロマチック数。メソッドの複雑度の指標を表す。メソッドの複雑度は、試験や保守の困難性を表す。この数は、分岐の数eと分岐間に存在するコードブロックの数nと呼び出しメソッド数pから、e-n+2pとして算出される
PARNumber of Parameters総パラメータ数
RMAAbstractness抽象度を表す尺度。あるパッケージが含むインタフェースや抽象クラスの数をすべての型、すなわち通常のクラスも含めた値で割った値
NOINumber of Interfaces総インタフェース数
CEEfferent Coupling他のパッケージのクラスに群が依存する、あるパッケージのクラス総数
NSCNumber of Childrenあるクラスを直接的に親クラスとしているクラスの総数
DITDepth of Inheritance Treejava.lang.Objectクラスを基点とした継承階層の深さ

表1:All-In-One-Eclipseでインストールされるプラグインなど

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored