一文详细解析Google编码规范工具cpplint的下载安装与使用

cpplint:C++代码风格检查工具实战指南与工作流集成 静态代码分析是提升软件质量、保障代码一致性的关键技术,它能在不运行程序的情况下,通过分析源代码来发现潜在问题。其核心原理是基于预定义的规则集对代码结构、语法和风格进行扫描。在C++开发中,这一技术尤为重要,它能有效提升代码可读性、降低维护成本,并促进团队协作。Google的cpplint便是一个专注于编码风格检查的轻量级静态分析工具,它严格遵循Google C++ Style Guide,自动化检查命名、缩进、注释等规范问题。通过集成到CI/CD流水线和Git预提交钩子等开发工作流中,cpplint能作为代 阅读详情
AI摘要

本文介绍了cpplint这款工具,用于检查C++代码风格,遵循Google编码规范,提供代码规范检查、安装步骤、常用命令以及如何将其集成到IDE中和自定义编码规范的方法。

目录

一、什么是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 指出来的问题怎么改-优快云博客

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的下载安装与使用。

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!

cpplint规则详解 Cpplint是一个python脚本,Google使用它作为自己的C++代码规范检查工具。 本文档是根据cpplint自己整理的规则详细解释,不对之处还请见谅。 立即下载

相关推荐

Cpplint源码

这是Google C++代码静态检测工具Cpplint源码,亲测可用。

cpplint 介绍

1、认识cpplint cpplint是Google开发的一个C++代码风格检查工具,如果是遵循google code style的,可以使用cpplint作为代码规范的一个检查工具。 Cpplint是一个开源可下载的脚本,具体可以在github上下载: https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py...

yelu_hong的专栏 1万+

cpplint:我用于自动 C++ 检查的 Google cpplint 工具的分支

cpplint - C++ 的静态代码检查器 该项目提供 cpplint 作为 pypi 包( )。 它遵循由 google 员工在作为 SVN 存储库维护的代码。 此 repo 可能落后于 SVN repo,如果您注意到这一点,请随时打开一个问题要求更新。 svn分支应该是 SVN 中历史记录的一对一副本。 ```pypi`` 分支包含 svn 之上的所有本地补丁。 该分支将经常重新定位。 从pypi安装: $ pip install cpplint 通过调用运行 $ cpplint [OPTIONS] files 有关更多信息,请参阅 定制 此分支中的修改是小的修复和外观更改: 更多默认扩展 python 3k兼容性 围绕默认文件扩展名的小修复 travis 上的持续集成 维护 这里的策略是有 3 个分支:master、svn 和 pypi。 在 svn 分支中,只添加

【编程基础】CppLint工具使用过程

coding最好要形成一定的编程风格,一般常用的开源风格有google code style,可以使用cpplint工具检查是否符合该编程风格。

2201_75362610的博客 2172

C语言——利用矩阵LU分解法求逆、行列式

本章介绍了LU分解法,以及如何利用LU分解法求逆、行列式,针对每个公式、原理、代码进行了详细介绍,希望可以给大家带来帮助。

王元笙 1万+

C# 操作Excel的时候,出现"被呼叫方拒绝接受呼叫的异常"的解决方案(参考官方给出的解决方案)

首先官方有对这个错误给出解释和解决方案,连接如下: https://docs.microsoft.com/zh-cn/previous-versions/ms228772(v=vs.120)#%E5%8F%AF%E9%9D%A0%E7%BC%96%E7%A8%8B 简单来说,貌似是线程问题,我猜。。。 之前我尝试着在代码中添加 Thread.Sleep(1000); 来进行解决,这种办...

Ck_Max的博客 5768

Cpplint - Static code checker for C++ (C++ 静态代码审查工具)

Cpplint - Static code checker for C++ (C++ 静态代码审查工具)

程永强 3417

二元交叉熵:分类模型概率校准的数学根基

二元交叉熵(BCE)是二分类任务中实现概率校准的核心损失函数,其本质源于最大似然估计与KL散度,确保模型输出具备真实可解释的概率意义。相比均方误差(MSE)或Hinge Loss,BCE强制优化预测分布与真实伯努利分布之间的信息差异,使p=0.8真正对应约80%的正例发生率,支撑风控、医疗、推荐等高信度场景的阈值决策。它不只影响训练收敛,更决定部署后概率的业务可信度——这正是Focal Loss等变体无法替代其基础地位的根本原因。理解BCE,就是理解分类模型如何从‘打分器’进化为‘概率契约签署者’。

congli3478的博客 1334

Google C++编程风格指南:cpplint报错信息解决汇总

Google C++编程风格指南:cpplint报错信息解决汇总

LF__plus的博客 2602

Halcon —— 图像像素类型与转换

图像类型 就目前工业领域主流的图像处理工具halcon来讲,有以下几张图像类型:‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’,具体含义如下图所示。相互间的转换可通过convert_image_type算子完成,但盲目转换会导致图像像素值异常。 ‘byte’ 每像素1字节,无符号 值范围: (0到255) ‘int1’ 每像素1字节,有符号 值范围: (-128到127) ‘

baidu_35536188的博客 1万+

ADAS系统架构与核心功能解析:从感知到执行的智能驾驶方案

高级驾驶员辅助系统(ADAS)是现代汽车智能化的核心技术,其本质是通过传感器融合、算法决策与车辆控制,构建一个“感知-决策-执行”的闭环系统。在技术原理上,ADAS依赖摄像头、毫米波雷达、激光雷达等多源传感器进行环境感知,并通过深度学习模型与融合算法(如卡尔曼滤波)构建精准的环境模型。其技术价值在于提供主动安全冗余与驾驶舒适性,核心应用场景包括自动紧急制动(AEB)、自适应巡航(ACC)及车道保持辅助(LKA)等。随着传感器成本下降与域控制器算力提升,ADAS正从高端配置向主流车型快速普及,并逐步向高阶导航

weixin_31062533的博客 418

C++编码规范检查工具使用-cpplint

当你看到这段话的时候,说明你是一个对编码有追求有敬畏的优秀的上进编码人员。恭喜你! 1、简介 Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你想代码遵从Google C++代码规范,那么Cpplint将会提供很好的代码静态检测支持。 2、安装 找了好多百度经验还是没看懂怎么安装,然而不安装都是可以用的呀,姑且理解为cpplint为免安装的 (地址我就不贴了,网上搜到的好多地址都打不开,可能是过期或者网络的原因,授人以

weixin_44860546的博客 2118

Visual Studio | 配置代码风格审查工具cpplint

cpplint是一个用于检查C++代码风格的工具,它可以帮助我们发现潜在的编码问题,提高代码质量。cpplint遵循Google的C++编码规范,通过静态分析代码来检查潜在的问题,如命名规范、格式、内存管理等。

个人技术博客 2001

系统架构最佳实践 -- 统一身份认证系统

设计和实现一个高效、安全的统一身份认证系统需要考虑到系统架构设计、用户认证与授权、用户身份管理、安全性保障、日志记录与审计、高可用性与容错性,以及用户体验优化等多个方面。通过合理的架构设计、安全措施和用户体验优化,可以构建一个满足用户需求、提供安全可靠的身份认证服务的系统。本文将总结统一身份认证系统的架构设计与实践经验,帮助读者了解如何设计和实现一个高效、安全的统一身份认证系统。统一身份认证系统应支持详细的日志记录和审计功能。通过合理的身份认证策略和授权机制,可以确保用户身份的准确性和信息的安全性。

xiaoli8748的专栏 1707

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

cpplint在VS Code中的安装及使用

如何在VS Code中使用cpplint并用Google风格格式化文本

doubleki的博客 1165

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

cpplint与其他代码检查工具对比:何时选择cpplint最合适?

在C++开发中,代码质量检查工具是保障项目可维护性的重要环节。cpplint作为一款轻量级静态代码检查工具,专注于Google C++风格指南的自动化检查,帮助开发者在编码阶段就发现潜在的风格问题和错误。本文将深入对比cpplint与其他主流C++代码检查工具,分析各自的适用场景,助你做出最适合项目需求的选择。 ## 📌 核心功能解析:cpplint的独特优势 cpplint的核心价值在于其

gitblog_00127的博客 441

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

代码风格审查工具Cpplint

1,简介 Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你想代码遵从Google C++代码规范,那么Cpplint将会提供很好的代码静态检测支持。 Cpplint.py支持的文件格式包括.cc、.h、.cpp、.cu、.cuh。 Cpplint只是一个代码风格检测工具,其并不对代码逻辑、语法错误等进...

felicx的博客 1983

Google C++编码规范

无规范不成代码,本文章收录google C++编码规范。道出在编码过程中你要怎么做, 为啥这么做

Lucky_Cpper的博客 2794

cpplint中filter参数的每个可选项的含义

`cpplint` 是一款优秀的代码格式检查工具,有了它可以统一整个团队的代码风格,完整的工具就是一个Python脚本,如果安装了Python环境,直接使用 `pip install cpplint` 命令就可以安装了,非常的方便...

AlbertS Home of Technology 6103

Cpplint代码静态检测工具

Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你的代码遵从Google C++代码规范,那么Cpplint将会提供很好的代码静态检测支持。 一、Window下的安装 下载Cpplint.py源码:http://download.youkuaiyun.com/download/jackfeng44/10158382

jack_feng 2549

基于 Google C++ Style 的现代 C++ 编码规范

本文摘要介绍了基于Google C++ Style的现代C++编码规范,重点强调可读性至上、一致性、简洁设计和性能权衡等核心原则。规范涵盖文件结构、命名空间管理、代码格式等内容,并提供具体示例说明头文件保护、包含顺序等最佳实践。文章还对比了其他主流C++编码规范,指出Google C++ Style因其大型项目验证和广泛社区影响力而成为行业标准。全文旨在通过统一规范提升代码质量、可维护性和团队协作效率。

Lion_Long的博客 699

C++编码规范之争:Google vs LLVM风格指南实战

你是否曾在团队协作中因代码格式混乱而浪费数小时?是否在维护 legacy 代码时被不一致的命名 conventions 搞得晕头转向?本文将深入对比业界最流行的两大 C++编码规范——Google 与 LLVM 风格指南,帮你掌握规范选择的黄金法则,让团队代码质量提升一个量级。读完本文你将获得: ✅ 两大规范核心差异的可视化对比 ✅ 5 分钟上手的配置模板 ✅ 规范冲突时的仲裁决策树 ...

gitblog_01082的博客 1223

代码审查-第二天:代码风格审查工具cpplint的使用

简介cpplint 是google使用python脚本实现的用于检查C++代码风格的工具。限制限于检查google编码风格的cpp文件的检查。安装安装完python后,在命令行下运行: pip install cpplint 使用 在python shell中导入cpplint模块 import cpplint 可通过help命令查看所有的cpplint的方法 help(c

AlbertWang随录 3970

cpplint

Cpplint是一个Python脚本,作为一款开源免费的代码静态检测工具,Google也使用它作为自己的C++代码检测工具,也就是说,只要你的代码遵从Google C++代码规范,那么Cpplint将会提供很好的代码静态检测支持。 Window下的安装 下载Cpplint.py源码zip:https://github.com/cpplint/cpplint. 解压到D:\cppli...

weixin_30670925的博客 463
上一篇: 【Qt问题】windeployqt如何提取Qt依赖库
下一篇: 【Python报错】Python安装模块时报错Fatal error in launcher
从一的
博客等级 码龄5年 1995粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值