【问题标题】:Is there a style checker for c++?c++ 有样式检查器吗?
【发布时间】:2011-04-09 17:58:01
【问题描述】:

我使用 java 已经有一段时间了,我发现 checkstyle 非常有用。我开始使用 c++,我想知道是否有具有类似功能的样式检查器。我主要是在寻找编写自定义检查的能力。

【问题讨论】:

  • 什么是风格违规的例子?在我看来,“风格”完全是代码格式,但你下面的 cmets 表明这不是你的意思......
  • 并不是我不想将格式化作为其中的一部分。我只想知道格式是否正确。另外,我将它用于变量命名约定
  • 我认为 eclipse CDT 插件会做一些你想做的事情

标签: c++ coding-style checkstyle


【解决方案1】:

KWStyle 似乎很适合

【讨论】:

    【解决方案2】:

    Vera++ 呢?

    Vera++ 是一个用于验证、分析和转换 C++ 源代码的可编程工具。 Vera++主要是一个解析C++源文件的引擎,并将解析的结果以各种集合的形式呈现给脚本——脚本实际上是在执行请求的任务。

    点击here查看更完整的演示。

    crc.hpp:157: keyword 'explicit' not followed by a single space
    crc.hpp:588: closing curly bracket not in the same line or column
    dynamic_property_map.hpp:82: keyword 'if' not followed by a single space
    functional.hpp:106: line is longer than 100 characters
    multi_index_container.hpp:472: comma should be followed by whitespace
    version.hpp:37: too many consecutive empty lines
    weak_ptr.hpp:108: keyword 'catch' not followed by a single space
    ...
    

    【讨论】:

    • 这看起来很有希望,我得试一试。
    【解决方案3】:

    我对@9​​87654321@ 有很好的反馈,它允许在代码上应用统一的样式而不会太麻烦。

    它是免费的,并且已经定义了许多“经典”样式。但它可能不适用于 C++0x 新结构。

    我也期待一个 Clang 库,虽然我还没有找到任何迄今为止。通常,考虑到 Clang 的结构,它应该相对容易,但是说起来总是比写代码容易,我想还没有人花时间。

    【讨论】:

    • AStyle 更像是一个美化器,你不能用它来实际检查样式违规,因为你可以在 Java 中使用 checkstyle。
    • 我实际上是在寻找样式检查器而不是格式化程序。我希望能够为我的团队风格约定创建检查,然后运行检查器以查看是否每个人都遵循约定。
    • @megamug:但是,如果某件事是否正确完成,那么有一个“检查器”报告的意义何在,当您可以简单地在您的 makefile 中传递一个格式化程序以自动使其正确而无需人为干预?
    • 通常有一个过程涉及更改现有代码,这意味着有人必须确保它仍然像以前那样工作。分析代码不需要任何过程。
    • @megamug:啊...并不担心测试是否公平,我们在我工作的地方进行持续集成,因此任何会破坏测试的更改都会被拒绝。
    猜你喜欢
    • 2023-03-12
    • 2013-07-28
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    相关资源
    最近更新 更多