【问题标题】:Automated Coding Standard Violation Detection for C++C++ 的自动编码标准违规检测
【发布时间】:2011-09-09 01:55:34
【问题描述】:

我想做的是让我的 CI 服务器运行一个工具来扫描代码并根据定义的准则检测任何存在的编码标准违规行为。我将使用输出提示构建“失败”,直到问题得到解决。

我遇到的问题是,我的工程师将大部分时间花在代码审查上,以寻找违反编码标准的情况,而不是寻找错误(发现的缺陷中有 70-76% 与标准相关)。我的理论是,如果他们不需要寻找违反标准的行为,他们会扩展他们正在寻找的内容。

这样的事情存在吗?

【问题讨论】:

  • 也许你真正的问题是你的编码标准太严格而且适得其反。
  • 我不同意,但我有了解团队和环境的好处(更不用说我们的标准实际涵盖的内容)。但是,我确实觉得我正在努力减轻团队的负担,以便在保持代码一致性的同时进行更有效的代码审查。

标签: c++ coding-style automation standards


【解决方案1】:

你要的叫静态分析

其中2个是免费的:

cppcheck — 检查多种类型错误的开源工具, 包括使用 STL。 cpplint 开源,自动检查器 确保 C++ 文件遵循 Google 的 C++ 风格。

然后一些商业编译器包括静态分析:Visual Studio(团队系统及以上) Intel 编译器(听说定制度很高,但我个人还没用过)

【讨论】:

    【解决方案2】:

    如果出现与代码格式相关的问题 - 您可以在签入到存储库时强制调用代码美化器(astyle、indent、...)

    下一个是PC-lint/Flexelint 工具,它也有执行各种编码标准指南的规则。但它是非免费的。您必须熟悉它并正确配置它以避免误报。

    你也可以查看Vera++,但我没有这方面的经验。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多