0

对于某些项目,我想制作公共方法和函数列表等统计数据。不错的选择可能是使用 CppDepend 和它的内置查询语言。

我们的(遗留)项目库有应用程序。每个应用程序都在它自己的目录中,有项目文件和一些带有源代码的子目录。某些子目录在多个应用程序中共享(使用 svn:externals)。我的目标是只计算此类共享目录中的方法和函数一次。

例如,如果文件 my_file.h 包含三个函数并且被检出到三个不同的本地目录,我仍然希望只添加 3 个而不是 9 个。

有没有办法告诉 cpp 哪些目录/文件被签出到多个本地目录以只计算一次?

4

1 回答 1

1

为避免计算相同的方法,您可以将 distinct 过滤器添加到 cqlinq 查询,如下所示:

from m in JustMyCode.Methods.Distinct(m=>m.FullName)
select m

所以每个方法都会被统计一次,或者可以通过添加源文件名的过滤器来改进查询避免过滤签名相同但不相同的方法

from m in JustMyCode.Methods.Distinct(m=>new {m.FullName,m.SourceDecl.SourceFile.FileName})
select m
于 2018-06-01T14:22:53.800 回答