c++ - cppcheck 中的 SLOC

标签 c++ static-code-analysis cppcheck

我想编写可以添加到 CppCheck 中的其他检查器的检查器。此检查器必须检查所有成员函数的 SLOC,例如该函数不应包含超过 200 行有效代码。但是在 CppCheck 中,我只找到了检查主体 hasBody() 是否存在的方法,但没有找到行数。

最佳答案

我是一名 cppcheck 开发人员。我不是这个话题的专家。我认为这完全取决于您要计算的内容。这是多少行:

void f() { int x=3; int y=x+2; dostuff(x+y+4); }

我猜你想遍历标记并计算分号之类的:

for (tok = functionScope->classStart; tok != functionScope->classEnd; tok = tok->next()) {
    if (tok->str() == ";")
        ++lines;
}

我认为您建议的这个检查器很有趣,但它不太适合核心 cppcheck 工具。我建议你写一个插件。我很乐意将它添加到我们的插件文件夹中并在 GUI 等中显示它。

顺便说一下..我认为在 GUI 中集成(执行和读取结果)ohcount、cccc 或其他任何东西会很好,这样可以显示扩展统计信息。

关于c++ - cppcheck 中的 SLOC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33740662/

相关文章:

code-analysis - PMD Apex 在 Windows 上找不到规则资源

java - 更改 SonarQube.com 上的质量配置文件

c++ - cppcheck 在 const std::string[] 上抛出警告

c++ - bool 赋值 204 为 false

c++ - 将枚举转换为成员变量 [问题] C++

c++ - 如何编写最薄的类型包装器

c++ - 如何解决 Cppcheck 中的问题 ID "toomanyconfigs"和 "missingInclude:"

c++ - 对于结构中的数组,我可以期待哪些对齐保证?

c++ - 如何确保 C/C++ 代码中不缺少 doxygen 样式的文档注释?

linux - 如何将 cppcheck 的输出重定向到文件中?