C++ 最近开发的灵活C++;样式检查器?

C++ 最近开发的灵活C++;样式检查器?,c++,visual-studio,coding-style,lint,C++,Visual Studio,Coding Style,Lint,我知道有人问过这个问题,但那是从2010年开始的,我想知道是否有人知道最近的一些问题 我正在考虑使用样式检查器来帮助在我当前的工作场所强制执行编码约定。我看到以下几个选项: 存在一种很好的灵活方式来强制实施差异样式约定。Vera++看起来很有趣,而且可以扩展 使用/破解谷歌的cpplint样式检查器(似乎令人望而生畏) 访问当前文件的解析树(最好是AST)并对其执行检查 #3似乎是最灵活的,并且想知道是否有人知道挂接AST的程序或方法?请尝试使用“叮当”和“所有警告”打开的xCode。 您还可以

我知道有人问过这个问题,但那是从2010年开始的,我想知道是否有人知道最近的一些问题

我正在考虑使用样式检查器来帮助在我当前的工作场所强制执行编码约定。我看到以下几个选项:

  • 存在一种很好的灵活方式来强制实施差异样式约定。Vera++看起来很有趣,而且可以扩展
  • 使用/破解谷歌的cpplint样式检查器(似乎令人望而生畏)
  • 访问当前文件的解析树(最好是AST)并对其执行检查

  • #3似乎是最灵活的,并且想知道是否有人知道挂接AST的程序或方法?

    请尝试使用“叮当”和“所有警告”打开的xCode。

    您还可以使clang转储AST。

    CppCheck生成AST。它还允许您编写插件,在那里您可以访问AST。但如上所述,它可能会删除检查样式所需的必要信息。我的选择是定制cpplint。

    在AST级别,您可能需要检查的许多信息已经丢失。这包括缩进/空白、注释、宏、括号、括号和大括号的放置。因此,如果您希望强制宏使用大写,AST将不会对您有所帮助。astyle是相当可用的。@celtschk:样式的第一条规则是不要夸大细节。识别危险与安全代码模式比检查缩进是否为4或8空格宽更重要。我想检查变量命名约定、if语句中的布尔表达式等。