c# - 从 .NET 确定 C# 和 C++ 的 SLOC 和复杂性

标签 c# c++ metrics

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

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

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

.NET 中是否有我可以用来做同样事情的 native 库——例如避免生成外部进程并解析结果。

我只需要以下指标:

  • SLOC
  • 评论行数
  • 最复杂方法的复杂度
  • 最复杂方法的名称

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

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

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

最佳答案

关于c# - 从 .NET 确定 C# 和 C++ 的 SLOC 和复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/133679/

相关文章:

c# - 使用交错数组进行线性搜索?

c++ - 从 Class<U> 调用 Class<T> 的私有(private)构造函数

performance - 可根据应用程序级别指标扩展的一些应用程序用例是什么?

c# - 加载 View 后是否可以在 Controller 中调用操作?

c# 我是否正确处理多个线程

c++ - "inlined"类的惩罚

google-analytics - 是否可以在Google Analytics(分析)中查看特定事件?

python - 收集桌面应用程序的使用数据

c# - 如何在 C# 中转义 while 循环

c++ - 使用 Visual C++ 的窗口窗体应用程序中的 Sleep()