几年来,我一直在我的项目中使用 SourceMonitor,以记录 C# 和 C++ 组件的源代码复杂性和基本 SLOC(包括注释)。这些用于向我们的客户进行外部报告,所以我无法争论它们的优点或不足。
我一直在研究一个存储库分析工具,它能够在任何日期/时间为我提供项目的快照视图。我要添加的下一个阶段是缓存指定文件和修订的指标。
我知道 SourceMonitor 可以编写脚本以允许我提供要测试的文件并从结果文件 CSV 或 XML 中获取指标。
.NET 中是否有一个本地库,我可以使用它来做同样的事情——例如,避免产生外部进程并解析结果。
我只需要以下指标:
- SLOC
- 注释行数
- 最复杂方法的复杂性
- 最复杂方法的名称
我需要在C#代码和普通C++代码上运行它。
编辑:由于我已经拥有提供所需 GUI 和报告的工具,因此需要使用库/API 编写或生成指标,而无需手动步骤。理想情况下,我想获取指定文件/修订版(而不是整个项目)的指标,我的实用程序将自动从版本控制中拖动。
注意:我为此创建了一个赏金,并且在它过期时正在度假...... NDepends 的答案并不让我满意,因为它不查看源代码,而是查看程序集本身!