在评估NDepend时,我将NDepend项目附加到构成我们公司软件套件的所有Visual Studio项目中。特别引人注目的是抽象性与不稳定性图的结果。几乎所有项目都塞满了图表的右下角,表明存在非常高的“不稳定性”。
NDepend文档对instability的定义是:
传出耦合(Ce)与总耦合的比率。 I = Ce /(Ce + Ca)。此指标是程序集更改弹性的指标。该指标的范围是0到1,I = 0表示完全稳定的装配,I = 1表示装配完全不稳定。
但是,在这种情况下,我无法找到“适应变化的弹性”的明确定义。有人想尝试制作一个定义吗?
加
显然,出现“弹性改变”的句子给出了这个概念的宽松定义,即“传出耦合(Ce)与总耦合的比率”。但这留下了这个比率的重要性以及它与变化的关系的问题。答案 0 :(得分:2)
请参阅报告中的文档。 稳定意味着很难修改因此不稳定是一件好事,这意味着它可以用很少的痛苦来改变,这意味着程序集能够适应变化
摘自报告中的文档:抽象与不稳定图
抽象性与不稳定性图有助于检测哪些组件可能难以维护(即具体和稳定)以及哪些组件可能无用(即抽象和不稳定)。
抽象性:如果一个程序集包含许多抽象类型(即接口和抽象类)和几个具体类型,那么它就被认为是抽象的。
稳定性:如果组件被许多类型的层组件使用,则组件被认为是稳定的。在这种情况下,稳定意味着修改是痛苦的。