2010-09-08 88 views
7

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

+0

会是一个什么风格违规的例子吗?我认为“样式”完全是代码格式,但下面的评论表明这不是你的意思...... – 2010-09-08 13:47:20

+0

这不是我不想将格式化作为它的一部分。我只想知道格式是否正确。另外,我已经用它来实现变量命名约定 – Megamug 2010-09-08 13:54:21

+0

我认为Eclipse CDT插件会做一些你想要的东西 – Falmarri 2010-09-08 17:50:38

回答

3

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 
... 
+0

这看起来很有希望,我将不得不玩一下。 – Megamug 2010-09-08 14:06:55

1

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

它是免费的,有很多已经定义的“经典”风格。但它可能不适用于C++ 0x新构造。

我也期待Clang图书馆,但我还没有找到任何迄今为止。通常情况下,鉴于Clang的结构,它应该相对容易,但是说起来容易,而不是编码,我想没人花时间。

+0

AStyle更美观,你不能使用它来实际检查样式违规,因为您可以使用checkstyle for Java。 – celavek 2010-09-08 13:30:21

+0

我实际上是在寻找一种风格检查器而不是格式化器。我希望能够为我的团队风格约定创建检查,然后运行检查器以查看是否每个人都遵守约定。 – Megamug 2010-09-08 13:34:03

+0

@megamug:但是如果某件事情已经正确或不正确,那么有一个“检查器”报告有什么意义呢?当你可以简单地在你的makefile中有一个格式化器传递来自动做出正确的,而不需要人为干预? – 2010-09-08 13:52:07

0

KWStyle似乎是一个轻量级的适合