这篇文章推荐几个CPP相关的工具,使用这些工具可以帮助我们检查不健康的代码,也可以帮助我们检测是否符合编码规范。
cpplint
它可以检测代码是否符合Google的编码规范,会把不符合规范的地方都指出来。
使用方式如图,它的安装也很简单:
python3 -m pip install cpplint。
很多项目都会把cpplint集成到pipeline里,不符合编码规范的MR不允许被merge。
cppcheck
静态代码检测规范,可以检测我们的代码是否有语法错误,是否有潜在的bug:
使用方式如图,它在Linux上安装比较方便:
sudo apt install cppcheck。
在Windows上,需要下载cppcheck的安装包:https://cppcheck.sourceforge.io/ ,也可以下载源码,注意安装成功后需要配置下它的环境变量。
要具体了解可以看它们的文档:
cppcheck的文档:
https://cppcheck.sourceforge.io/manual.pdf
cpplint源码:
https://github.com/cpplint/cpplint
也可以使用clang-tidy来做静态代码检测, 不同于cppcheck使用正则表达式进行静态代码分析,clang-tidy是基于语法分析树的静态代码检查工具,虽然它的速度比正则表达式慢一些,但是它检查的更准确、全面,而且不仅可以做静态检查,还可以做一些修复工作,自行添加一些自定义检查规则。
clang-tidy 可以看我的这篇文章:https://mp.weixin.qq.com/s/ilwXjdmLuvKxYyxdB_rvTg
其实还有很多静态代码检测工具:
关于C++还有很多好用的工具,比如iwyu(include what you use)、lwyu(link what you use)等,都推荐一波。