C++的自动代码风格指南测试
automatic code-style-guide test for C++
可能的重复项:
一个根据一组编码标准检查 C/C++ 源代码的免费工具?
我正在启动一个 c++ 项目,涉及几个我无法直接访问的人。我们商定了一个编码风格指南,例如,根据可访问性(即帕斯卡情况下的私人,骆驼情况下的公共和受保护者)定义类成员的大小写。请不要开始讨论风格指南。我受够了。谢谢。
我现在想做的是生成一些违反风格指南的报告。我不想强制执行风格指南,例如在提交时,但我想提供一个工具,每个开发人员都可以使用它来查看他/她的代码在哪里违反了风格指南(如果他/她想检查它)。
你知道一个可以完成这项工作的工具吗?
(它需要能够理解一些C++,例如检测类成员的可访问性。
好吧,你可以在提交时通过 AStyle 或 Uncrustify 运行你的代码,这至少会将错误代码重新格式化为某种标准。我发现这是代码提交和标准的大多数问题 - 如果您在提交后重新格式化,它会显示为许多完全微不足道的增量更改。
否则,请检查其他 SO 答案。
风格指南往往是特定于公司的,并且必须编写特定于公司的检查才能实现它们。
我的公司提供可自定义的C++样式检查器,其中可以通过语法检查已弃用的习语,检查变量和类型是否具有某些属性,或验证某些命令是否在本地以特定顺序出现。 这些检查器在源代码上使用C++方言精确解析器。 定制并不容易;您需要底层引擎和一些解析C++程序的知识。
可以编写检查布局的规则,但这是很多没有回报的工作,解决此类投诉并不是对程序员资源恕我直言的有效使用。 如果你不打算强制执行你的风格,你为什么要用抱怨来惹恼程序员呢? IT似乎更容易(正如另一张海报所指出的)简单地运行一个布局格式化程序,该格式化程序可以免费产生正确的结果,而程序员可以不花钱。
通用格式化程序的问题之一是语言不精确,它们可能会误解源代码,有时会在格式化时破坏源代码,从而导致编译错误、调试和浪费时间。 我们还提供C++格式化程序,以使用与样式检查器相同的语言精确解析器完成格式化;它们无法在重新格式化期间破坏您的代码。
我已经成功地使用 vera++ 工具为我们的项目执行此操作。我写了一些规则(在TCL中)来采用我们公司的风格指南。这有点痛苦,直到我解决了检查中报告的所有误报。至少它现在运行良好,我已经将报告集成到 Jenkins 构建分析中。
这些报告还可以轻松地用于 Eclipse IDE 中的定制错误分析。
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- Qt VTK交互风格的信号到小部件
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 数据成员SFINAE的C++17测试:gcc vs clang
- Visual Studio 2019:插入多个C++风格的单行注释
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么二进制搜索在我的测试中不起作用
- 从父数组测试用例构造二叉树失败
- 试图对缓存进行跨步测试,但程序并没有结束
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为测试目标创建具有不同源文件夹的文件
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- VC++本机单元测试,找不到调试符号
- 使用CATCE进行BDD风格测试中多个数据的一个测试
- C++的自动代码风格指南测试
- catch单元测试框架是否支持junit风格的测试报告