C++编程规范之命名规范

CPP {CPP编程规范, CPP命名规范} 1 阅读详情

C++编程规范之命名规范

摘要:文档为C++于洋编程时的命名规范。包括通用命名规则、文件命名、类型命名、变量命名、常量命名、函数命名、命名空间、宏命名、命名规则例外。

最重要的一致性规则是命名管理,命名风格直接可以直接确定命名实体是:类型、变量、函数、常量、宏等等,无需查找实体声明,我们大脑中的模式匹配引擎依赖于这些命名规则。

命名具有随意性,在满足编译器规则的情况下,按照个人喜好时,由于程序猿之间的差异性,导致代码的可读性很差,所以按照一定的通用规则进行,很有必要性。

通用命名规则(General Naming Rules)

1.命名中只能出现数字、字母和下划线,且不能以数字开头

2.在c/c++中,严格区分大小写

3.尽可能给出描述性名称,不要节约空间,让别人很快理解你的代码的重要性更高

            int num_errors; // Good

            int num_completed_connections; // Good

            丑陋的命名使用模糊的缩写或随意的字符:

                        int n; // Bad – meaningless

                        int nerr; // Bad – ambiguous abbreviation

                        int n_comp_conns; // Bad – ambiguous abbreviation

            类型和变量一般为名词:如m_nOpType

            函数名通常是动词+名词:GetXmlBranch()

​​​​​​​文件命名(File Names)

1.文件命名时,可以包含文件命名中包含的字符(如短线 - )

2.文件名要全部小写,可以包含下划线(_)和短线(-),按照项目的约定来。

            ussdsessionmng.h/ussdsessionmng.cpp

3.内联函数必须放在.h文件中,

如果内联函数比较短,就直接放在.h文件中

 如果内连输比较长,可以放到以.inl结尾的文件中

包含大量内联函数的类有如下:

ussdsessionmng.h // the class declaration

ussdsessionmng.cpp // the class definition

ussdsessionmng.inl // inline functions that include lots of code.

​​​​​​​类型命名(Type Names)

类型命名包含类、结构体、枚举、类型定义(typeof)

类型命名每个单词以大写字母开头,不包含下划线:

类型命名的组成:类型说明符+描述单词;

类(C):CUSSDSessionMng

结构体(stru):struUSSDProxyCBData

枚举(EN):

            enum EN_PROXY_SUBMIT_RESP_CMD_STATUS_TAKE_ERROR

{

              PROXY_CMD_STATUS_NOT_TAKE_ERROR = 0,

              PROXY_CMD_STATUS_TAKE_ERROR = 1,

              EN_PROXY_SUBMIT_RESP_CMD_STATUS_END

};

类型定义(继承原有形式):typedef CAccess CBccess;

​​​​​​​变量命名(Variable Names)

变量命名的组成:作用域(类成员、静态、全局)标示_类型说明符+描述说明

作用域标示:类成员-m;静态-s;全局-g;静态类成员-sm;静态全局-sg

类型说明符:整形-n;布尔型-b;字符型-c;浮点型-f;指针型变量和迭代子-p;字符串-sz(string terminated by 0 character);结构体-st;枚举-en;CHString-str;特别指向函数的指针和函数对象指针(point of function)-pfn;数组(grid)-g;类的实例-i或其它

​​​​​​​常量命名(Constant Names)

常量:全局常量和非全局常量

全局常量:全部大写,单词之间用下划线连接:const int ERR_FAIL=0

非常量命名组成:类型标示+常量说明:const int nCount=0

​​​​​​​函数命名(Function Names)

DeletUrl

​​​​​​​命名空间(Namespace Names)

命名空间全小写,其命名基于项目名称和目录结构

​​​​​​​枚举命名(Enumerator Names)

枚举是类、常量、宏的结合体

​​​​​​​宏命名(Marco Names)

全部大写单词,用下划线连接

​​​​​​​命名规则例外(Exceptions to Naming Rules)

当命名与现有C/C++实体相似的对象时,可参考现有命名约定:
bigopen()
             
函数名,参考open()
uint
             typedef
类型定义
bigpos
            struct
或class,参考pos
sparse_hash_map
            STL
相似实体;参考STL 命名约定
LONGLONG_MAX
           
常量,类似INT_MAX
______________________________________

译者:命名约定就相对轻松许多,在遵从代码一致性、可读性的前提下,略显随意:
1. 总体规则:不要随意缩写,如果说ChangeLocalValue写作ChgLocVal还有情可
原的话,把ModifyPlayerName写作MdfPlyNm就太过分了,除函数名可适当为动
词外,其他命名尽量使用清晰易懂的名词;
2. 宏、枚举等使用全部大写+下划线;
3. 变量(含类、结构体成员变量)、文件、命名空间、存取函数等使用全部小写+下划线 ,
类成员变量以下划线结尾,全局变量以g_开头;
4. 普通函数、类型(含类与结构体、枚举类型)、常量等使用大小写混合,不含下划线;
5. 参考现有或相近命名约定。

C++命名规则详解 关开C++程序的命名规则详解,轻松教你学会命名规则,让你学会好的编码习惯 立即下载

相关推荐

医疗大模型实战——从零构建MedicalGPT全流程解析

本文详细解析了从零构建医疗大模型MedicalGPT的全流程实战。基于Qwen-7B模型与约195万条中文医疗数据,完整复现了增量预训练、监督微调与偏好对齐三大核心环节,并分享了如何在有限硬件资源下实现高效训练与部署,为开发者提供了可复现的医疗AI项目实战指南。

weixin_29193259的博客 554

C++编程命名规范

C++编程命名规范

qq_30150579的博客 6430

QT使用高精度定时器

精度相对第二种方法高许多。

ljjjjjjjjjjj的博客 4097

C++谷歌命名规范

1.文件命名规则 文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。比如:cmd_save_player_info_class.cc ,my_use_full_class.cc 定义类的文件名一般是成对出现,如:foo_bar.h foo_bar.cc 若是类中含大量内联函数,我们还可使用-ini.h文件,使之文件内容更加清晰,于是又如:url_table.h url_table.cc url-table-ini.h 2.类命名规则 类型命名每个单词首字母大写,不含下划线

m0_49448331的博客 4064

用WorkBuddy搭建漫剧AI自动化制作流水线全攻略

在内容创作领域,AI智能体正逐渐从单一工具辅助走向全流程自动化调度。其核心原理是将剧本、分镜、绘图、配音、剪辑等环节拆解为可独立执行的任务单元,由总控系统统一协调,从而大幅降低人力与时间成本。这种模式尤其适用于动态漫画(漫剧)这类环节多、专业度要求高的视频形态。传统制作流程中,角色一致性、配音周期和剪辑返工是公认的效率瓶颈,而借助AI智能体工作台,创作者只需输入故事创意,即可驱动多个数字分身协同完成内容生产。本文以WorkBuddy为例,详细展示如何配置模型、安装技能包并串联五段式流水线,将单集制作成本从万

weixin_28224217的博客 253

Python量化投资——mplfinance实现全功能动态交互式K线图(蜡烛图)【源码+详解】

特别鸣谢:@szFoxtech 同学热心提供了通过键盘操作平移和缩放K线图的代码!!在我的另一篇文章《七行代码利用tushare和mplfinance生成K线图》中,我介绍了两个非常好用的python库,结合起来可以非常方便容易地生成股票的K线图,对于使用python进行量化投资研究的朋友可谓是必备良方。如下图所示,仅仅几行代码,就能生成下面这张K线图:不过,仅仅使用七行代码生成的K线图,虽然看上去也像那么回事了,但是对于真正需要使用K线图作为研究工具或者可视化工具的朋友们来说,是远远不够的。在我看来,至少

m0_67390379的博客 9835

C++命名规范

在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。 在引入细节之前,先说明一下命名规范的整体原则: 同一性 在编写一...

chouci9270的博客 624

ISO26262 功能安全各个阶段测试要求

1. 开发过程说明 系统层面:包括软硬件集成测试、系统集成测试以及整车测试。 硬件层面:包括硬件集成与测试。 软件层面:单元测试、集成测试。 2. 功能安全总体要求 2.1 各项指标 2.2 诊断覆盖度举例 针对一个信号举例说明: 3. 功能安全测试要求 3.1 测试计划 核心内容应包括, 测试对象:需要测试的对象描述,以及测试的范围描...

AgingMoon的博客 1万+

【C++】【命名规范】你的代码风格是哪种?(驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等)

本文分享了常见的命名风格习惯(例如驼峰命名法、下划线命名法、帕斯卡命名法、常量命名法等),向读者推荐了C/C++中类名、接口名、函数名、变量名和常量的常见命名风格,以及扩展了一些常见的代码书写风格(例如{}),最后延申了两个对代码执行有影响的编程习惯。 希望本文能给各位读者带来些许帮助,同时也欢迎热心的码友提供自己的见解分享在评论区!

crr411422的博客 1万+

Ubuntu关闭更新提醒的三层控制方法:从GUI到APT配置

Linux系统更新机制本质上是包管理器(APT)驱动的自动化运维流程,其核心原理在于分离‘元数据刷新’、‘安全补丁安装’和‘用户通知’三个职能。这种分层设计既保障了基础安全性,又为系统管理员提供了策略定制空间。技术价值体现在提升生产环境稳定性、规避未经验证的内核/驱动升级风险,并支持ROS、Blender渲染、工业控制等对时序敏感的应用场景。本文聚焦Ubuntu系统入门教程中高频需求——科学关闭软件更新提醒,覆盖Ubuntu 20.04及LTS版本的GUI设置、systemd服务禁用与APT配置修改三大实操

weixin_29698641的博客 394

硬件工程师笔记——电子器件汇总大全

本文系统总结了14种常用电子器件的工作原理及功能应用,包括电阻、压敏电阻、电容、电感、二极管、三极管、MOS管、晶振、光耦、IGBT、继电器、磁珠、可控硅和线性稳压器。每种器件从结构原理、工作特性到典型应用进行全面解析,如电阻的限流分压、电容的储能滤波、三极管的放大开关等。重点阐述了各器件在电路设计中的关键作用,如IGBT的功率控制、继电器的隔离保护、LDO的电压稳定等,并提供了实际电路应用案例。文章还整理了硬件工程师笔试面试相关的知识点和真题资源,为电子工程师提供全面的技术参考。

XU157303764的博客 2万+

C++简明教程(12)(编程命名规范)

命名规范是 C++ 编程中不可或缺的一部分,它不仅仅是一种代码编写的约定俗成,更是提高代码质量、促进团队协作以及提升开发效率的重要手段。通过遵循表意清晰准确、避免歧义、保持简洁性等通用原则,并在变量、函数、类、文件和常量等各个方面采用合适的具体命名规范,开发者能够编写出更加易于理解、维护和扩展的代码。同时,在团队开发环境中,严格执行统一的命名规范能够减少沟通成本,避免因命名不一致而引发的各种问题,从而使整个项目的开发过程更加顺利和高效。

邮箱:feboreigns001@163.com 1236

【华为OD机试真题】282、求满足条件的最长子串的长度 | 机试真题+思路参考+代码分析 (C++、Java、Py、C语言、JS)

题目描述 >给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: >  1、只包含1个字母(a~ z,A~Z), 其余必须是数字; 2、字母可以在子 串中的任意位置; >  如果找不到满足要求的子串,如全是字母或全是数字,则返回-1

KJ.JK 1万+

我的C++编程命名规范

我的C++编程命名规范   在软件开发过程中,代码的命名规范是一项很突出的内容。一套定义完整、结构清晰明了的命名规范将大大提升源代码的可读性和软件的可维护性。 据考证,没有一种命名规则可以让所有的程序员都满意,程序设计教科书一般也不会指定命名规则。但是制定一套令开发组成员基本满意的命名规则,并在项目中贯彻实施,也是团队开发一项必不可少的工作。 我将我的团队的实际工作中的

thanklife的专栏 8710

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

c++编程风格和命名规范

C++编程命名规范     编辑: 捞刀客       在软件开发过程中,代码的命名规范是一项很突出的内容。一套定义完整、结构清晰明了的命名规范将大大提升源代码的可读性和软件的可维护性。 当然没有一种命名规则可以让所有的程序员都满意,程序设计教科书一般也不会指定命名规则。但是制定一套统一的命名规则,并在项目中贯彻实施,是团队开发的产品质量一项必不可少的工作。   第一部分:文件

buffi的专栏 2318

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

编程命名规范之 Google C++ 编程命名规范

大一的时候曾经特别关注过命名规范的问题,并且写了一个博客总结了一些基础的规范——《三种编程命名规范》,后来得知有一种命名规范叫做 Google C++Google C++Google\ C++ 命名规范的时候,特意看了一下,但是特别反感,感觉太糟糕了,所以就没有深究过……我讨厌压行,这是我反感这个规范的最大原因。 不过,现在我不得不开始使用它了,因为我们公司我们部门我们组使用...

逐梦者 1951

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C C++ Java 编程命名规范

1、编程命名规范—四种命名方法 https://blog.youkuaiyun.com/tgb_tom/article/details/103665787?biz_id=102&utm_term=%E7%BC%96%E7%A8%8B%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-1-103665787&s...

Move on 323

C++编程命名规范的举例

c++各种类型、函数、类的命名规范举例介绍

chengyongkang的博客 221

C++编程 命名规范

C++ 编程命名

HUMENGFEI222的博客 667
上一篇: vim 修改tab为四个空格
下一篇: C/C++浮点数在内存中的存储方式
Simple_Man_Just
博客等级 码龄11年 18粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值