Thresholds - ZemiB2016/DisharmonieChecker GitHub Wiki
基本的なmetrics
- AVG(Average): 平均
- STDEV(Standard deviation): 標準偏差
主なThresholds
- Low:
AVG - STDEV
- High:
AVG + ATDEV
- Very High:
(AVG + STDEV) * 1.5
よく使われるmetrics
- NOM: 1クラスあたりのメソッドの数の平均
- LOC: 1メソッドあたりのコードの行数
- CYCLO: 1行あたりの循環的複雑度
- WMC:
CYCLO/LOC * LOC/Method * NOM/Class
Size & Complexity
直接的な値
- NOP: パッケージの数
- NOC: クラスの数
- NOM: ユーザーが定義した手続きの数
- LOC: 関数を含むコードの行数
- CYCLO: 循環数
計算した値
- High-level Structuring:
NOC / Package
- Class structuring:
NOM / Class
- Operation Structuring:
LOC / Operation
- Intrinsic operation complexity:
CYCLO / Code Line
System Coupling
直接的な値
- NOM
- CALLS: 各メソッドを呼び出したメソッドの種類の合計
- FANOUT: ユーザーによって定義された手続きによって呼び出されたクラスの合計
計算した値
- Coupling intensity:
CALLS / Operation
- Coupling dispersion:
FANOUT / Operation Call
System Inheritance
- ANDC: ライブラリクラス、インターフェイスを除く各クラスを、直接継承してるクラスの数の平均
- AHH: ライブラリクラス、インターフェイスを除く各クラスのうち、一番深い継承の長さの平均