我想要做的是让CI服务器运行一个工具来扫描代码并根据定义的指南检测出现的任何编码标准违规。我将使用输出来提示构建“失败”,直到问题得到解决。
我遇到的问题是我的工程师将大部分时间花在代码审查中,寻找违反编码标准而不寻找错误(发现70-76%的缺陷与标准相关)。我的理论是,如果他们不需要寻找违反标准的行为,他们就会分析他们正在寻找什么。
这样的事情是否存在?
答案 0 :(得分:2)
您想要的是静态分析
其中2个是免费的:
cppcheck - 检查多种类型错误的开源工具, 包括使用STL。 cpplint开源,自动检查器 确保C ++文件遵循Google的C ++风格。
然后一些商业编译器包括静态分析:Visual Studio(团队系统及以上) 英特尔编译器(我听说它非常可定制,但我还没有亲自使用它)
答案 1 :(得分:0)
如果与代码格式相关的问题 - 您可以在签入存储库(astyle,indent,...)时强制调用代码美化器
下一个是PC-lint/Flexelint工具,它还有执行各种编码标准指南的规则。但它不是免费的。您必须熟悉它并正确配置它以避免误报。
您也可以查看Vera++,但我没有使用它。