・ChidamberとKemererによって提案されたオブジェクト指向設計の複雑度を計る指標です。
・次の6つの指標が提案されています。
略称 | WMC | DIT | NOC | CBO | RFC | LCOM |
---|---|---|---|---|---|---|
名称 | Weighted Methods per Class | Depth of Inheritance Tree | Number of Children | Coupling between Object Classes | Response for a Class | Lack of Cohesion in Methods |
計測対象 | メソッドの複雑さ | スーパークラスの数 | サブクラスの数 | サブクラスの数 | 関係するメッセージ数 | クラスの凝縮性 |
意味 | そのクラスが持っているメソッド数 | そのクラスまでの継承の深さ | 直属のサブクラス数 | そのクラスが参照するインスタンス変数やメソッドを持っているクラス数 | メッセージに対して実行される可能性のあるメソッド数 | メソッドで共通に使用されるインスタンス変数がないようなメソッドの度合い |
評価 | 値が高いほど、複雑 | 値が高いほど、継承されている変数、メソッドが多い | 値が高いほど、保守性に影響 | 値が高いほど、他のクラスに依存し、複雑 | 値が高いほど、発信するメッセージが多く複雑 | 値が高いほど変数を共有し、複雑 |
評価品質 | 保守性 | 使用性/保守性 | 保守性 | 保守性 | 保守性 | 保守性 |