2

使用 SourceMonitor xml 命令文件,我正在尝试分析从 Git 签出的整个存储库,我知道它在同一目录中同时具有 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 项目中完成这一切。

4

1 回答 1

0

为您的软件语料库创建两个单独的 SourceMonitor 项目

您无法从混合语言项目中获得一个软件指标这一事实反映了 SourceMonitor 的设计方式。它是围绕 /values/ 指标构建的,可以显示、比较、排序……每种语言都有自己的指标集(C++ 的类指标不适用于 C)。不同语言的同名指标也有不同的“绿色区域”。

组合几种语言的实际价值是有限的:例如,您将如何比较不同编程语言的两个文件的最大复杂度

为了说明这一点:您双击一个检查点以获取一个表,其中包含所有涉及的指标的绝对值,一个文件一个文件,按字母顺序(文件名)。这些表中的所有度量值都是绝对值。通过单击相应的标题,您可以对您最感兴趣的标准进行排序(通常是负责检查点极值的文件)。

于 2019-05-13T12:12:24.930 回答