用于计算 Bob 叔叔的 "Agile PPP" C# 代码指标的脚本
Script to calculate Uncle Bob's "Agile PPP" code metrics for C#
我正在阅读 Agile PPP for C#,Bob 叔叔在某些时候提出了有趣的设计质量指标:
这些是:
- H(关系内聚)= (R + 1) / N,其中:
- R = 组件内部关系的数量;
- N = 该组件内 类 的数量。
- I(不稳定性)= Ce / (Ca + Ce),其中:
- Ca = 传入耦合;
- Ce = 传出耦合;
- A(抽象度)= Na / Nc,其中:
- Nc = 类 的数量;
- Na = 摘要数 类;
- D'(与主序的归一化距离)= abs(A + I - 1) / sqrt(2),其中:
- "main sequence" 是在 A vs I 笛卡尔图中,由 A + I = 1 的位置形成的对角线;
最有趣的部分是这个(直接来自书中):
The metrics we describe have been successfully applied to a number of projects since 1994.
Several automatic tools will calculate them for you, and they are not difficult to calculate by hand.
It is also not difficult to write a simple shell, Python, or Ruby script to walk through your source files and calculate them.
For an example of a shell script, you can download depend.sh
from the freeware section of objectmentor.
我找不到这个 depend.sh
脚本,我不确定我是否同意这些指标很容易手工计算,或者通过一些脚本(我想使用 Python为此,如果是这样的话)。
所以,问题是:
- 是否有免费的工具或脚本来计算 Uncle Bob 的 C# 代码指标? Visual Studio 有一些指标,但它们是不同的,我真的不知道或不关心如何解释它们;
我应该如何处理构建我自己的脚本的任务有一个著名的 "regex can't parse html" 事实,我想知道 C# 代码结构是否适合这种"simple script" Uncle Bob 正在求婚,以便可以计算这些指标。我应该试试吗?
工具 NDepend 计算 these metrics and it makes easy to write your custom metrics through C# Linq Queries。
它集成在 Visual Studio 中,还生成 report 与 Uncle Bob 的指标图。
提供 14 天全功能试用版
我正在阅读 Agile PPP for C#,Bob 叔叔在某些时候提出了有趣的设计质量指标:
这些是:
- H(关系内聚)= (R + 1) / N,其中:
- R = 组件内部关系的数量;
- N = 该组件内 类 的数量。
- I(不稳定性)= Ce / (Ca + Ce),其中:
- Ca = 传入耦合;
- Ce = 传出耦合;
- A(抽象度)= Na / Nc,其中:
- Nc = 类 的数量;
- Na = 摘要数 类;
- D'(与主序的归一化距离)= abs(A + I - 1) / sqrt(2),其中:
- "main sequence" 是在 A vs I 笛卡尔图中,由 A + I = 1 的位置形成的对角线;
最有趣的部分是这个(直接来自书中):
The metrics we describe have been successfully applied to a number of projects since 1994.
Several automatic tools will calculate them for you, and they are not difficult to calculate by hand.
It is also not difficult to write a simple shell, Python, or Ruby script to walk through your source files and calculate them.
For an example of a shell script, you can download
depend.sh
from the freeware section of objectmentor.
我找不到这个 depend.sh
脚本,我不确定我是否同意这些指标很容易手工计算,或者通过一些脚本(我想使用 Python为此,如果是这样的话)。
所以,问题是:
- 是否有免费的工具或脚本来计算 Uncle Bob 的 C# 代码指标? Visual Studio 有一些指标,但它们是不同的,我真的不知道或不关心如何解释它们;
我应该如何处理构建我自己的脚本的任务有一个著名的 "regex can't parse html" 事实,我想知道 C# 代码结构是否适合这种"simple script" Uncle Bob 正在求婚,以便可以计算这些指标。我应该试试吗?
工具 NDepend 计算 these metrics and it makes easy to write your custom metrics through C# Linq Queries。
它集成在 Visual Studio 中,还生成 report 与 Uncle Bob 的指标图。
提供 14 天全功能试用版