使用SourceMonitor xml命令文件,我试图分析Git的整个 check out 存储库,因为该库在同一目录中同时包含C和C++代码,因此我知道这一事实。
这是我的XML命令文件的一个片段。
<?xml version="1.0" encoding="utf-8"?>
<sourcemonitor_commands>
<command>
<project_file>testproj.smproj</project_file>
<checkpoint_name>Baseline</checkpoint_name>
<project_language>C++</project_language>
<source_directory>C:\Users\....</source_directory>
.......
</command>
在GUI中,我手动添加了其他类型的扩展,并且可以正常工作!我尝试在上述xml文件中添加此行,但这导致.C文件的指标的值为零:
<file_extensions>*.h,*.cpp,*.c,*.pdl</file_extensions>
我究竟做错了什么?甚至有可能吗?我只想在一个SourceMonitor项目中完成全部操作。
最佳答案
为您的软件主体创建两个单独的SourceMonitor项目。
您无法从混合语言项目中获得一个软件指标这一事实反射(reflect)了SourceMonitor的设计方式。它围绕/ values /指标构建,可以显示,比较,排序...每种语言都有自己的一组指标(C++的类指标不适用于C)。对于不同语言的同名指标,还有不同的“绿色区域”。
组合几种语言的实际值(value)是有限的:例如,您将如何比较两种不同编程语言的文件的最大复杂度?
为了说明这一点:双击检查点以获取一个表,其中包含所有涉及度量的绝对值,并按字母顺序(文件名)逐文件列出。这些表中的所有指标值都是绝对值。通过单击相应的标题,可以对最感兴趣的条件进行排序(通常是负责检查点极高值的文件)。