度量一个函数(方法)是否复杂,最常用的方法就是计算函数的圈复杂度cyclomatic complexity (CC),也就是“McCabe’s Metric”。业界CC的threshold一般是15,CC>15的函数被认为是非常复杂的。函数是否复杂的度量已经很成熟了,structure101度量函数是否fat,用的也是CC,临界值也设置的是15。
structure101扩展了CC的概念,提出了度量class、leaf package、meta package复杂度的方法。meta package也就是上图中的design复杂度。meta package和leaf package在structure101中区别如下:
structure101还有一种度量指标:tangle,这个其实就是循环依赖,对应上图中的Tangled(design)。这些度量指标的默认threshold值如下,如果有需要我们是可以修改这些默认门限的。