任何可以执行其中任何一项的代码分析或“逆向工程”工具?:
- 计算哪些类是哪些类的子类
- 计算哪些类实例化哪些类—— (如VS Class Designer)
- 计算哪些函数调用哪些函数—— (很像调用堆栈)
任何可以执行其中任何一项的代码分析或“逆向工程”工具?:
计算哪些函数调用哪些函数
NDepend 可以生成一些有用的方法或类调用图,例如下面的屏幕截图(此处为全尺寸图片)免责声明:我是该工具的开发人员之一
在此处查找有关如何使用 NDepend 生成调用图的更多说明。
计算哪些类是哪些类的子类
同样的方式 NDepend 可以生成类继承图(这里解释生成类继承图)。
计算哪些类实例化哪些类
NDepend 允许在 LINQ 查询(我们称之为CQLinq)上编写代码查询。使用 CQLinq,您可以请求创建特定类的方法或类,例如:
from m in Methods
where m.CreateA("NUnit.Core.NUnitConfiguration")
select m
这样的 CQLinq 查询结果可以导出到图形视图,以获得依赖关系的可视化表示。
附带说明一下,使用 CQLinq 还可以编写代码规则。默认提出了超过200 条代码规则,这些规则包括关于设计、架构、代码质量、代码演化、命名约定、死代码、.NET Fx 使用的规则......
CQLinq 规则可以在 Visual Studio 中实时验证,或者可以在构建过程中验证并在 HTML/javascript 报告中报告。