4

几年来,我一直在我的项目中使用 SourceMonitor,以记录 C# 和 C++ 组件的源代码复杂性和基本 SLOC(包括注释)。这些用于向我们的客户进行外部报告,所以我无法争论它们的优点或不足。

我一直在研究一个存储库分析工具,它能够在任何日期/时间为我提供项目的快照视图。我要添加的下一个阶段是缓存指定文件和修订的指标。

我知道 SourceMonitor 可以编写脚本以允许我提供要测试的文件并从结果文件 CSV 或 XML 中获取指标。

.NET 中是否有一个本地库,我可以使用它来做同样的事情——例如,避免产生外部进程并解析结果。

我只需要以下指标:

  • SLOC
  • 注释行数
  • 最复杂方法的复杂性
  • 最复杂方法的名称

我需要在C#代码和普通C++代码上运行它。

编辑:由于我已经拥有提供所需 GUI 和报告的工具,因此需要使用库/API 编写或生成指标,而无需手动步骤。理想情况下,我想获取指定文件/修订版(而不是整个项目)的指标,我的实用程序将自动从版本控制中拖动。

注意:我为此创建了一个赏金,并且在它过期时正在度假...... NDepends 的答案并不让我满意,因为它不查看源代码,而是查看程序集本身!

4

5 回答 5

2

依赖

于 2008-09-25T15:10:05.537 回答
2

您可以在此处找到 C# SLOC 的开源代码和评论:http ://code.google.com/p/projectpilot/source/browse/#svn/trunk/ProjectPilot.Framework/Metrics

于 2009-03-30T20:34:59.367 回答
1

用于计算 SLOC 的可靠的基于命令行的工具是Cloc。它支持多种语言,包括 C# 和 C++。支持的输出格式为 xml、csv 和 sql。

于 2012-03-05T22:36:10.257 回答
0

这不会给您带来功能复杂性并且它不是可编写脚本的(据我所知),但适用于 VS 的 SlickEdit Gadgets 具有出色的 SLOC 报告工具,您可以从解决方案资源管理器中使用,并会在文件中为您提供详细报告,项目或解决方案级别。

你可以在这里得到它:http ://www.slickedit.com/content/view/441

于 2008-11-10T16:30:58.490 回答
0

虽然我从未找到可以同样解析 C# 和 C++ 的 .NET 产品,但我确实设法找到了一个易于使用的产品,即支持这些语言等等的CODECOUNT 。

它有一个简单的命令行,不像我的项目中使用的 SourceMonitor,直到 CODECOUNT 替换它。

于 2010-08-26T08:24:04.353 回答