作者:雨天是最美 | 2023-09-05 13:02
看起来很容易找到这样的Java工具(Checkstyle,JCSC),但我似乎找不到一个用于C/C++的工具.我不是在寻找类似于lint的静态代码分析器,我只想检查编码标准,如变量命名,大小写,间距,标识,括号放置等.
1> yrp..:
我知道的唯一工具是Vera.但是,没有使用它,所以不能评论它是多么可行.演示看起来很有希望.
我试了但是很失望.它标记了C++代码,但只有一个标记类型用于"标识符",因此它不区分所谓的类名,成员变量和局部变量.因此,我无法找到对不同类型的标识符强制执行不同的命名约定.
"可扩展"仅适用于非常简单的任务.由于Vera对C++的理解很浅,所以任何"深度样式检查"(考虑一种可能的[我不建议好]规则:对于每个分配,在同一个函数中有相应的解除分配)将必须编码适当的C++知识,这真的很难*,这意味着它不会发生.
2> janesconfere..:
Google c ++ lint来自 Google代码风格指南.
+1.这非常好 - 虽然它确实有非常严格的风格.用vera ++这样的规则来扩展并不容易.
我假设现在这是*cpplint*它可以在https://github.com/google/styleguide/tree/gh-pages/cpplint找到,上面的链接到c ++ lint已经破了.
[为什么Google Style Guide for C++是一个交易破坏者](https://www.linkedin.com/pulse/20140503193653-3046051-why-google-style-guide-for-c-is-a-deal-breaker)
3> tatsuhirosat..:
我相信这可能对某种程度的cxx检查有所帮助.另外这个工具似乎是相当不错的KWStyle这是一个从Kitware,谁开发C进行家伙.
4> Pieter..:
不完全是你所要求的,但我发现只有所有人都同意astyle可以生成的编码标准,然后自动化这个过程.
5> 小智..:
试试nsiqcppstyle.这是一个基于Python的C/C++编码风格检查器.扩展很容易添加自己的规则.