NDepend:什么是"Resilience to Change"



在评估NDepend时,我将一个NDepend项目附加到构成我们公司软件套件的所有Visual Studio项目中。特别引人注目的是抽象性与不稳定性图的结果。几乎所有的项目都挤在图表的右下角,显示出非常高的"不稳定性"。

NDepend文档对不稳定性的定义是:

传出耦合(Ce)与总耦合的比值。I = Ce/(Ce + Ca)该度量是程序集对更改的弹性的指示器。该指标的范围为0到1,其中I=0表示完全稳定的组件,I=1表示完全不稳定的组件。

然而,在这种情况下,我无法找到"弹性变化"的明确定义。有人想试着给出一个定义吗?

添加

显然,出现"弹性变化"的句子将这一概念松散地定义为"传出耦合(Ce)与总耦合的比率"。但是,这个比率的意义是什么,以及它与变化有什么关系,这个问题还没有解决。

请参阅报告中的文档。稳定意味着修改很痛苦,因此不稳定是一个积极的东西,它意味着它可以很少痛苦地改变,它意味着程序集对变化有弹性


摘自报告中的文档:抽象性与不稳定性图

抽象性与不稳定性图有助于检测哪些程序集可能难以维护(即具体和稳定),哪些程序集可能无用(即抽象和不稳定)。

  • 抽象性:如果一个程序集包含许多抽象类型(即接口和抽象类)而很少具体类型,则认为它是抽象的。

  • 稳定性:如果一个程序集的类型被许多类型的层程序集使用,则该程序集被认为是稳定的。在这种情况下,稳定意味着难以改变。

相关内容

  • 没有找到相关文章

最新更新