c++代码静态检查工具——cpplint使用技巧

cpplint使用技巧

google c++ 编码规范    (中文 )

李开复微博爆谷歌公开 C++编码规范 称全球最好, 开复认证,值得信赖@@@


这篇文档确实值得去细看,不过条条框框太多,不强制,执行起来有困难.

幸好文章有提到一个好工具:cpplint .这个工具非常之好用, 具体的教程网上搜,有一大堆.

如果你试用过,你会发现它能检查出一大堆的风格问题,如果你只有1个显示器,你修改一个错误的过程将会是如下:

1.查看错误行号

2.用vim打开文件,找到对应的文件位置,根据需要修改.

3.保存文件,退出vim.

4.查看下一个错误行号,如此反复.

这个过程实在是不方便.

 

所以,我修改了一下这个调用接口.直接把错误信息当成注释 一次放入 源文件中,然后只需要打开一次源文件,依次修改.

修改完成之后,再调用清理注释接口,删除之前插入的内容.整个过程一气呵成!


只用简单的几行脚本:

#!/bin/bash
#
# add the error info to source file from cpplint.py
# after file is modified, clean the error info
#       khb.hnu@gmail.com
#
if [ "$1" == "-h"  -o $# -eq 0 ];then
        echo "Clean comment: cpplint -c file1 file2 ..."
        echo "  Gen comment: cpplint file1 file2 ..."
        exit 1
fi

# clean the comment
if [[ "$1" == "-c" ]];then
        shift 1
        for file in $(ls $@);do
                sed -i "/CPPLINT/d" ${file}
        done
        exit 1
fi

# generate the comment
for file in $(ls $@);do
        cp ${file} ${file}.bak  # backup the original file for safety

        cpplint.py   ${file}  2> tmp
        cat tmp | grep "^${file}" |grep -v "copyright message found" \
                | awk 'BEGIN{FS=":";OFS=":"}{print $2,$3}' | sort -t\: -n -k1  >${file}.lint

        IFS=':'
        num=0
        while read line_no comment; do
                sed -i "$((num+line_no)) i\
                        // [CPPLINT] ${comment}"  ${file}

                num=$((num+1))
        done < ${file}.lint
done

rm -f tmp ${file}.lint

文章来源:http://just-study.blogbus.com/logs/108437201.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值