Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+的自动编码标准冲突检测+;_C++_Coding Style_Automation_Standards - Fatal编程技术网

C++ C+的自动编码标准冲突检测+;

C++ C+的自动编码标准冲突检测+;,c++,coding-style,automation,standards,C++,Coding Style,Automation,Standards,我想做的是让我的CI服务器运行一个工具来扫描代码,并根据定义的准则检测存在的任何违反编码标准的情况。我将使用输出提示构建“失败”,直到问题得到解决 我的问题是,我的工程师大部分时间都花在代码审查上,寻找违反编码标准的行为,而不是寻找bug(发现的缺陷中有70-76%与标准相关)。我的理论是,如果他们不需要寻找违反标准的行为,他们会把他们要寻找的东西分门别类 是否存在类似的问题?如果问题与代码格式有关,您可以在签入到存储库时强制调用代码美化器(astyle、indent等) 下一个是工具,它也有规

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

我的问题是,我的工程师大部分时间都花在代码审查上,寻找违反编码标准的行为,而不是寻找bug(发现的缺陷中有70-76%与标准相关)。我的理论是,如果他们不需要寻找违反标准的行为,他们会把他们要寻找的东西分门别类


是否存在类似的问题?

如果问题与代码格式有关,您可以在签入到存储库时强制调用代码美化器(astyle、indent等)

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


您也可以检查,但我没有这方面的经验。

您需要的是静态分析

其中2个是免费的:

cppcheck-用于检查多种类型错误的开源工具, 包括STL的使用。 cpplint开源,自动检查,使 当然,C++文件遵循谷歌的C++风格。 然后一些商业编译器包括静态分析:VisualStudio(TeamSystem及以上版本)
英特尔编译器(我听说它非常可定制,但我还没有亲自使用过)

也许你真正的问题是你的编码标准限制太多,而且会适得其反。我不同意,但我有一个好处,那就是了解团队和环境(更不用说我们的标准实际上涵盖了什么)。但是,我确实觉得我正在努力减轻团队的负担,以便在保持代码一致性的同时进行更有效的代码审查。另请参见: