哪个工具可以在C++中显示方法或函数的最大语句?

liu*_*uzw 5 c++ metrics

我们的项目真的很大.源代码大小在一个模块中约为620KLOC.所以我想检查目录/模块中哪个函数最大?有没有工具可以支持它?

SourceMonitor只有"每个方法的平均语句",而不是每个方法的最大语句.CCCC也不支持它.

例.此函数长度为1.

unsigned short get()
{
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Mar*_*tin 2

我能想到的最简单的事情就是编写脚本来完成它。

  • 使用例如ctags获取文件中的函数列表
  • 使用 perl/python/awk/grep 将源文件拆分为单独的文件,每个函数一个文件
  • 简单地统计每个文件的行数,取最大长度。如果您需要更多详细信息,请将每个文件输入 loc 计数器(例如sloccount)
    获得更精确的信息。再次使用 grep 获取您感兴趣的输出

另一个可能有帮助的工具:

Lazy C++:是一个代码生成器,它将与 c++ 非常相似的文件拆分为标头和源代码。如果您将代码转换为 lzz 文件,则生成的代码将包含每个函数的行计数器标记。这些数字的差异将显示您的函数有多大