目录
一、什么是cpplint
二、cpplint能实现的功能
三、cpplint的下载与使用
1、配置python环境
2、安装cpplint
四、cpplint常用命令讲解
1、常用命令查看
2、常用命令详解
3、命令使用方式
五、 cpplint的实用技巧
1、集成cpplint
1.1、修改调用接口.
1.2、直接把cpplint集成到IDE工具里
1.2.1、打开VS,选择工具-外部工具
1.2.2、选择添加,进行配置
1.2.3、运行检测
2、修改cpplint实现自定义编码规范
一、什么是cpplint
cpplint是一个用于检查C++代码风格的工具,它可以帮助我们自动化地检查代码,发现潜在的编码问题,确保代码风格的一致性和规范性,提高代码质量。cpplint遵循Google的C++编码规范,通过静态分析代码来检查潜在的问题,如命名规范、格式、内存管理等。
二、cpplint能实现的功能
注意cpplint仅仅只是给出基于google的编码规范建议,需要我们针对建议去一个个修改:
1、检查代码缩进是否正确。 |
2、检查变量、函数、类命名是否符合规范。 |
3、检查代码注释是否符合规范。 |
4、检查代码行长度是否符合规范。 |
5、检查头文件包含顺序是否正确。 |
6、检查代码中潜在的错误和不良习惯。 |
三、cpplint的下载与使用
下载安装这一块,我看网上不少教程都是让去github仓库下载,但是我尝试了一下发现可以直接pip下载,会更加简单快捷。
由于该工具是基于python脚本,所以必须保证先有python环境
1、配置python环境
去官网下载python文件,一定记得勾选自动添加到环境变量中,
https://www.python.org/downloads/windows/
cmd验证:出现版本号说明环境配置好了,注意是-V(大写)
python -V
2、安装cpplint
此时直接执行命令:pip install cpplint
执行安装程序,看到出现Successfully installed cpplint-1.6.1说明安装成功
安装成功后就可以开始使用,具体的使用方法:
2.1、在需要检查的文件夹下cmd打开终端
2、输入命令:
python xxx\cpplint.py 需要的命令 需要检测的文件
这里xxx就是cpplint.py的文件路径,如果觉得麻烦也可以先添加到环境变量里面去
3、此时cpplint就会分析代码并给出结果
四、cpplint常用命令讲解
来看看cpplint.py的常用命令
1、常用命令查看
打开终端执行命令
python xxx\cpplint.py --help
再次提醒这里xxx就是cpplint.py的文件路径,如果觉得麻烦也可以先添加到环境变量里面去
2、常用命令详解
我们先来看几个常用的:
1、--verbose=#: 这个选项用于设置详细程度。
对于发现的每个问题,cpplint都会给出一个位于区间[1,5]之间的置信度评分,分数越高就代表问题越肯定,可以通过verbose选项控制输出哪些级别,置信度评分为1、2的将不会再输出。通过指定#的值,可以控制输出的详细程度
2、--output=emacs|eclipse|vs7|junit|sed|gsed: 该选项用于指定输出的格式。
可以选择不同的输出格式,如emacs、eclipse、vs7、junit、sed或gsed。 默认是emacs,vs7是Visual Studio输出的兼容格式
3、--filter=-x,+y,...: 用于过滤特定的错误或警告。
通过指定-x来排除特定的错误或+y来包含特定的警告,-表示不输出,+表示输出
4、--counting=total|toplevel|detailed: 该选项用于设置错误计数的方式。
可以选择计算总数、仅计算顶层错误或者详细计数。
示例:
--counting=total
输出:Total errors found: 121
命令数不少,就不再一一详细列举,大家可自行查阅参考:
序号 | 命令 | 解释 |
1 | --root=subdir: | 指定根目录。可以将指定的子目录作为根目录进行检查。 |
2 | --repository=path: | 指定存储库路径。可以指定代码存储库的路径。 |
3 | --linelength=digits: | 设置每行的字符数限制。通过指定digits的值来设置每行的字符数限制。google cpplint默认是80字符 |
4 | --headers=x,y,...: | 指定头文件。可以指定要检查的头文件。 |
5 | --recursive: | 递归检查子目录。通过添加此选项,可以递归地检查子目录中的文件。 |
6 | --exclude=path: | 排除特定路径。可以指定要排除检查的特定路径。 |
7 | --extensions=hpp,cpp,...: | 指定文件扩展名。可以指定要检查的文件扩展名,如hpp、cpp等。 |
8 | --includeorder=default|standardcfirst: | 指定包含文件的顺序。可以选择默认顺序或将标准C头文件放在首位。 |
9 | --quiet: | 静默模式。通过添加此选项,可以使输出更加简洁,减少冗余信息。 |
10 | --version: | 显示版本信息。通过添加此选项,可以查看cpplint.py的版本信息。 |
3、命令使用方式
python xxx\cpplint.py 命令 需要检测的文件
五、 cpplint的实用技巧
1、集成cpplint
虽然cpplint是谷歌公开 C++编码规范 号称是全球最好,但是也仅仅是给出建议,我们需要对应文件去一个个修改,其实还是非常不方便的,针对这个问题常用的两种解决办法。
1.1、修改调用接口.
直接把错误信息当成注释一次性放入源文件中,然后打开一次源文件,依次修改即可
参考文章:
c++代码静态检查工具——cpplint使用技巧_cpplint 指出来的问题怎么改-CSDN博客
1.2、直接把cpplint集成到IDE工具里
常见的比如Visual Studio、Visual Studio Code等,我们这里以VS为例,可以实现在VS的输出窗口输出编码建议,点击对应建议可跳转到对应代码位置
1.2.1、打开VS,选择工具-外部工具
1.2.2、选择添加,进行配置
注意这里命令和参数里都需要输入具体的文件路径,
参数里选择output为vs7,默认是emacs,vs7是Visual Studio输出的兼容格式
1.2.3、运行检测
配置完成后,随便打开某一个cpp文件,点击工具-cpplint.py,即可运行检测
此时我们工具里已经多了cpplint.py,对任意一个文件均可使用该工具,点击对应建议会跳转到对应代码处。
2、修改cpplint实现自定义编码规范
虽然google的c++编码规范已经很不错了,但是肯定不会完全适用,幸好cpplint还支持规则制定
可以通过修改cpplint的配置文件来自定义检查规则。这样我们就可以根据团队或项目的需求,定制适合自己的代码规范检查规则。进而定制出一套团队的编码规范并长期使用。
当然,这个我还没试过,大家感兴趣可以自己先尝试尝试。
综上,我们就完成了cpplint的下载安装与使用。
都看到这里了,点个赞再走呗朋友~
加油吧,预祝大家变得更强!