C# 理解代码

C# 理解代码,c#,maintenance,list-comprehension,C#,Maintenance,List Comprehension,了解大约大小为200K LOC的C#代码库的最佳方法是什么?有可用的工具吗 为此,似乎有一项活动进行了很长时间 谢谢。有一个非常好的代码库可视化;它使用了一个非常有意义的城市的隐喻,同时突出代码的气味也很有用 这是一个很好的概述 有一个很好的复制可视化。它解析您的代码库并通过控制盘将其可视化,其中复制由控制盘中的辐条表示,您可以将鼠标悬停在每个辐条上以查看并排的差异 有一个很好的LinqToCode类型的东西来强制执行质量约束。您可以在生成过程中从命令行运行这些规则 导航功能对于了解什么在使用什

了解大约大小为200K LOC的C#代码库的最佳方法是什么?有可用的工具吗

为此,似乎有一项活动进行了很长时间

谢谢。

有一个非常好的代码库可视化;它使用了一个非常有意义的城市的隐喻,同时突出代码的气味也很有用

这是一个很好的概述

有一个很好的复制可视化。它解析您的代码库并通过控制盘将其可视化,其中复制由控制盘中的辐条表示,您可以将鼠标悬停在每个辐条上以查看并排的差异

有一个很好的LinqToCode类型的东西来强制执行质量约束。您可以在生成过程中从命令行运行这些规则

导航功能对于了解什么在使用什么非常重要。查找用法非常有用。对于探索代码库,Alt+F7是您的朋友,因为它还将打开您运行过的查询的历史记录,因此您可以在其中来回跳转以保持您的位置

Visual Studio保留光标位置/编辑器点的记录,并使用ctrl+-和ctrl+shift+-在这些位置之间来回移动光标

如果您决定使用常规的注释(例如//NOTE:blah),然后使用ReSharper的TODO Explorer查找所有此类注释(以及您可能定义的其他模式),然后导航到它们,则可以向自己插入注释。例如,目前我们将其用于代码审查


Visual Studio(至少是专业版)可以生成类图;选择多个文件,右键单击,然后创建类图。坦白地说,我发现,作为一种涂鸦,与人工制品相比,它们更有用,以保持与代码库的同步。它会告诉您继承,但不会非常清楚地显示实现接口,甚至不会尝试显示集合或由组合而成。

正如@Peter Mounce所建议的,这很好,您可以免费将其用于非商业用途。你可以得到很多很好的可视化效果,比如依赖关系图,它可以帮助你对正在发生的事情有一个大致的了解


VisualStudio2010还以的形式包含类似的工具,尽管我认为您需要添加架构(或更高版本)来实现这一点。但它是交互式的,可以让您深入到有用的结构中。

我用于代码可视化。它从各个方面展示了代码,在使用SonarQube仪表盘的15-20分钟内,您将直接了解代码的核心部分。不仅如此,它还显示了代码的哪一部分是复杂的,以及您可以在哪里进行攻击以获得简化代码的快速胜利。

+1您应该在答案中添加更多信息,这样会更好:)。+1表示独立;它将向您展示每个级别的结构(程序集、类、方法或任何组合)。@Henrik如果您在您的评论中添加了更多信息,说明我如何在我的答案中添加更多信息以使其更好,那将更好:):-PI只是想让您的写作更精彩。你写了一篇鼓舞人心的散文。我被你的评论所鼓舞;-)