一个免费的工具,根据一组编码标准检查C/C++源代码?

Dre*_*mer 148 c c++ coding-style

看起来很容易找到这样的Java工具(Checkstyle,JCSC),但我似乎找不到一个用于C/C++的工具.我不是在寻找类似于lint的静态代码分析器,我只想检查编码标准,如变量命名,大小写,间距,标识,括号放置等.

yrp*_*yrp 56

我知道的唯一工具是Vera.但是,没有使用它,所以不能评论它是多么可行.演示看起来很有希望.

  • 我试了但是很失望.它标记了C++代码,但只有一个标记类型用于"标识符",因此它不区分所谓的类名,成员变量和局部变量.因此,我无法找到对不同类型的标识符强制执行不同的命名约定. (6认同)
  • "可扩展"仅适用于非常简单的任务.由于Vera对C++的理解很浅,所以任何"深度样式检查"(考虑一种可能的[我不建议好]规则:对于每个分配,在同一个函数中有相应的解除分配)将必须编码适当的C++知识,这真的很难*,这意味着它不会发生. (2认同)

jan*_*nce 48

Google c ++ lint来自 Google代码风格指南.

  • +1.这非常好 - 虽然它确实有非常严格的风格.用vera ++这样的规则来扩展并不容易. (4认同)
  • 我假设现在这是*cpplint*它可以在https://github.com/google/styleguide/tree/gh-pages/cpplint找到,上面的链接到c ++ lint已经破了. (3认同)
  • [为什么Google Style Guide for C++是一个交易破坏者](https://www.linkedin.com/pulse/20140503193653-3046051-why-google-style-guide-for-c-is-a-deal-breaker) (2认同)

tat*_*tou 8

我相信这可能对某种程度的cxx检查有所帮助.另外这个工具似乎是相当不错的KWStyle这是一个从Kitware,谁开发C进行家伙.


Pie*_*ter 7

不完全是你所要求的,但我发现只有所有人都同意astyle可以生成的编码标准,然后自动化这个过程.


小智 6

试试nsiqcppstyle.这是一个基于Python的C/C++编码风格检查器.扩展很容易添加自己的规则.


EfF*_*ort 5

有一个清单。splint 上还有一个假定的C++ 前端

  • -1 因为问题明确表示“不寻找静态代码分析器”。 (8认同)