cpplint 介绍

1、认识cpplint

cpplintGoogle开发的一个C++代码风格检查工具,如果是遵循google code style的,可以使用cpplint作为代码规范的一个检查工具。

Cpplint是一个开源可下载的脚本,具体可以在github上下载:

https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py

cpplint是一个使用python2.X版本写的脚本,所以执行的时候只能在安装python2.X版本上面,建议安装python2.7,如果有喜欢3.X版本的爱好者,也可以尝试修改脚本中的部分语法以让它支持3.X,具体修改方法可以在网上查找

cpplint对于本人来说还是有不同的意义的,本人由cpplint入python脚本的坑,所以也比较依赖python2.X版本

Google C++ 风格指南 - 中文版http://blog.csdn.net/shendl/article/details/6762538 

在命令行中(cmd)中执行:python cpplint.py -- help可以查看cpplint的帮助说明。注:命令行参数都是两个横线(--

或直接打开py脚本,开头一部分也是help的内容

2、cpplint一些常用的参数

[--verbose=#]:指定输出的错误级别

对于发现的每个问题,cpplint都会给出一个位于区间[1, 5]之间的置信度评分,分数越高就代表问题越肯定,可以通过verbose选项控制输出哪些级别,如下,置信度评分为12的将不会再输出

E:\CM\cpplint>python E:\CM\cpplint\cpplint.py --verbose=3 test.cpp

 [--output=vs7]:cpplint的输出格式有emacsvs7两种, 默认是emacsvs7Visual Studio输出的兼容格式

 [--filter=-x,+y,...]:指定输出错误类型,-表示不输出,+表示输出(错误类型可以查看脚本中的_ERROR_CATEGORIES 定义的对应的列表)

例子:--filter=-build,-whitespace,+whitespace/comma

-whitespace,所有的[whitespace*]都将不输出,但是有了+whitespace/comma,[whitespace/comma]类型的错误将被输出

 [--linelength=digits]:控制每行的最长长度,google cpplint默认是80字符

 [--headers=x,y,...]:扩展检查的文件的后缀

 [--counting=total|toplevel|detailed]:输出错误总数的方式,默认为total参数

例子:

--counting=total

输出:

Total errors found: 96

--counting=toplevel

输出:

Category 'whitespace' errors found: 88

Category 'build' errors found: 8

Total errors found: 96

--counting=detailed

输出:

Category 'whitespace/braces' errors found: 28

Category 'whitespace/semicolon' errors found: 1

Total errors found: 29

3、使用脚本中遇到的一些问题

1、有一行代码,算了下并没有超过80个字符,但是cpplint检查的时候,报错: [WARN] Lines should be <= 80 characters long  [whitespace/line_length]

a 代码行后面带有注释,注释会计入字符数

2、行字符没超过80,但是整个文件都在报行字符超过80

原因目前遇到两种:

a、结尾符只有CR没有LF,导致计算字符有问题(linux下面是只有LF,不会有问题),将文件格式化一下

b、文件格式有问题,是奇奇怪怪的ucs之类的,一般是vs自己生成的文件,导致整个文件都在报80行字符的问题,将文件格式转换成UTF8/GB2312就可以了

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值