前言
coding最好要形成一定的编程风格,一般常用的开源风格有google code style,可以使用cpplint工具检查是否符合该编程风格。
Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你想代码遵从Google C++代码规范,那么Cpplint将会提供很好的代码静态检测支持。
-
Cpplint.py支持的文件格式包括.cc、.h、.cpp、.cu、.cuh。
-
Cpplint只是一个代码风格检测工具,其并不对代码逻辑、语法错误等进行检查。
目录
-
linux系统使用过程;
-
windows系统使用过程;
注意,目前cpplint.py是基于python2的脚本,若要使用python3请按照python3改写cpplint.py。
操作
1. linux系统使用过程
1.1 安装cpplint;
$pip install cpplint
1.2 保存cpplint.py文件;
1.3 检测单个文件;
cpplint_dir$python2 cpplint.py test.cpp
1.4 检测批量文件;
根据要检测的文件编写shell脚本,然后运行即可。
注意,sh和bat适应于不同的系统,bat文件是window系统的执行文件,sh是linux系统的批处理文件。
cpplint_shell.sh实例;
#! /bin/bash
echo "^@^cpplint code style check through shell====^@^"
index=0
config=""
pwd_path=`pwd`
cpplint_path="$pwd_path/cpplint.py"
echo cpplint_path=$cpplint_path
src_path="$pwd_path/src"
echo src_path=$src_path
# add file to an array,and check file in array last
# for file in `find $src_path -name "*.h" -type f`
for file in `find $src_path -maxdepth 1 -type f | grep -E ".h$|.cc$|.cu$|.cpp$"`
do
echo file=$file
echo -e "\033[36m ===> [FILE] \033[0m \033[47;31m $file \033[0m"
check_files[$index]=$file
index=$(($index+1))
done
# accroding to config options make a checking command
# first check if python2 exists
check_cmd=""
is_python2_exists=`ls /usr/bin/ | grep -E '^python2$' | wc -l`
if [ $is_python2_exists -ge 1 ]
then
# read cpplint.ini to decide which option to add
for file in ${check_files[*]}
do
check_cmd="python2 $cpplint_path --linelength=80"
echo -e "\033[33m =========== check file $file =============\033[0m"
check_cmd="$check_cmd"$file
eval $check_cmd
echo -e "\033[45m ==========================================\033[0m"
done
fi
运行:
cpplint_dir$sudo bash cpplint_shell.sh
这个脚本是直接在terminal终端打印信息,更进一步,其实可以尝试生成检测报告,也可以尝试将检测信息当成注释放在源文件。
注意,一定要使用bash,被这个问题搞了半天,(# ̄~ ̄#)
这是因为sh和bash的shell解析器版本不一样,版本不同,解析规则有不一样的地方。
使用sh运行的时候出现bad substitution的错误,使用bash就没有问题啦。。。
2. windows系统使用过程
2.1 安装python,注意设置系统环境变量,将python的安装目录写入path环境变量,保存cpplint.py文件;
2.2 运行命令或者脚本文件;
命令行:
cpplint_py_dir$python cpplint.py test.cpp
batch文件:
echo off
python cpplint.py test.cc --output=vs7 > report.txt 2>&1
pause
执行bat文件即可;
2.3 批量检测分析;
步骤:在目录下创建src和reports目录;将要检测的源文件置于src目录;修改batch文件并执行;
echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set suffix=.report.txt
set src_path=src
set reports_path=reports
for %%i in (%src_path%/*.cpp) do (
echo %%i
set report_name=%reports_path%/%%i%suffix%
set src_name=%src_path%/%%i
echo src_name=!src_name!
echo report_name=!report_name!
python cpplint.py !src_name! --counting=toplevel --output=vs7 > !report_name! 2>&1
)
pause
注意,1)等号=两边没有空格等。2)必须在dos下实验目录运行bat文件。3)bat文件是dos下的批处理文件。
运行脚本:
cpplint_py_dir$./cpplint_batch.bat
题外话
在此疾速成长的科技元年,编程就像是许多人通往无限可能世界的门票。而在编程语言的明星阵容中,Python就像是那位独领风 骚的超级巨星, 以其简洁易懂的语法和强大的功能,脱颖而出,成为全球最炙手可热的编程语言之一。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
在下个十年的剩余时间里,Python 还能如此重要以及保持完整性吗?今天,我们将对事实进行分析,破除一些误解。
如果你对Python感兴趣,想通过学习Python获取更高的薪资,那下面这套Python学习资料一定对你有用!
资料包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。0基础小白也能听懂、看懂,跟着教程走,带你从零基础系统性地学好Python!
学习资源推荐
除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。
这里给大家展示一下我进的兼职群和最近接单的截图
![私单](https://img-blog.csdnimg.cn/img_convert/f3ec041b90b44a16ee6ea25bc628d393.png)
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取,也可以内推兼职群哦~
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
### 1.Python学习路线
2.Python基础学习
01.开发工具
02.学习笔记
03.学习视频
3.Python小白必备手册
4.数据分析全套资源
5.Python面试集锦
01.面试资料
02.简历模板
因篇幅有限,仅展示部分资料,添加上方即可获取👆
------ 🙇♂️ 本文转自网络,如有侵权,请联系删除 🙇♂️ ------