有没有一种方法可以检查C ++中的最大方法长度?

时间:2020-08-28 10:55:21

标签: c++ clang code-analysis

我正在搜索一个工具,该工具可以检查我的C ++代码中是否存在一种方法,该方法的行长大于我可以定义的最大值。我想定义一个阈值,例如50行,如果有功能,例如60行,该工具应该在分析后警告我。

我知道Java的checkstyle中有类似的功能。我们现在正在使用Clang格式来格式化C ++代码,但是我找不到Clang格式中的任何功能或其他任何C ++工具。

有人知道C ++这样的工具吗?非常感谢:)

2 个答案:

答案 0 :(得分:4)

readability-function-sizeClang-Tidy支票完全符合您的要求(甚至更多)。

答案 1 :(得分:0)

我能想到的最简单的方法就是编写脚本。

使用例如ctags获取文件中的功能列表 使用perl / python / awk / grep将您的源文件拆分为单独的文件,每个函数一个文件 只需计算每个文件的行数,并取最大长度即可。如果您需要更多详细信息,请将每个文件输入到loc-counter中,例如sloccount到 获得更多完善的信息。再次使用grep获取您感兴趣的输出 可能会有帮助的另一个工具:

懒惰的C ++:是一种代码生成器,用于将与c ++非常相似的文件拆分为头文件和源文件。如果您编写代码,则将代码转换为lzz文件,生成的代码每个功能均包含行计数器标记。这些数字上的差异将向您显示您的功能有多大