最近我的任务是发现一个我以前从未见过的 C# 解决方案,并就重构它提出建议。我想我将使用 NDepend(有史以来第一次)来查看整体情况,并检查大量代码指标以找出可以重构的内容。我认为 NDepend 非常擅长展示项目的结构。
我的问题是一个更笼统的问题:您认为发现您第一次看到的代码并需要了解其结构的最佳方法是什么?(不幸的是,没有合乎逻辑的设计文档,代码注释也很差。)
最近我的任务是发现一个我以前从未见过的 C# 解决方案,并就重构它提出建议。我想我将使用 NDepend(有史以来第一次)来查看整体情况,并检查大量代码指标以找出可以重构的内容。我认为 NDepend 非常擅长展示项目的结构。
我的问题是一个更笼统的问题:您认为发现您第一次看到的代码并需要了解其结构的最佳方法是什么?(不幸的是,没有合乎逻辑的设计文档,代码注释也很差。)
使用 NDepend 更容易发现代码。该工具为程序集、命名空间和类之间的依赖关系和分层提供了一种自上而下的方法。这是通过代码生成的一些图形和依赖矩阵来完成的。
您还将获得对层代码程序集的依赖关系,这对于了解代码的哪一部分执行什么操作非常有用。
此外,一些体积指标的图形表示,例如 # 行代码,有助于清楚地了解代码在哪里完成的工作。
我经常使用Reflector来研究第三方程序集以及 .NET 程序集。与其说是鸟瞰类之间的关系,不如说是更详细地了解正在发生的事情。