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: ライブラリクラス、インターフェイスを除く各クラスのうち、一番深い継承の長さの平均