当前位置: 首页 > news >正文

代码规范(C++)

1.命名规范

1.目录/文件

字母、数字、下划线构成,不同单词用下划线隔开。

2.函数/接口

小驼峰命名法。

3.命名空间

字母、数字、下划线构成,不同单词用下划线隔开,但是尽量只使用一个单词。

4.结构体/类

大驼峰命名法,不包含下划线。

5.变量

小驼峰命名法。

1.局部变量

2.全局变量

需要增加前缀 g_ 。

3.静态变量

需要增加前缀 s_ ,若其同时也是全局变量,则同全局变量的命名方式。

4.类成员变量

需要增加前缀 m_ 。

5.类静态变量

需要增加前缀 s_ 。

6.常量

全大写字母,不同单词用下划线隔开。

5.宏定义

全大写字母,不同单词用下划线隔开。

6.枚举

大驼峰命名法,命名时带上 class 类型,枚举值全小写字母。

原因:避免和宏定义发生冲突

2.注释规范

尽量使用 /* */进行注释,避免使用 //

1.结构体/类注释

2.接口注释

3.变量注释

3.设计规范

1.声明/定义的位置

宏/枚举/变量/接口的声明和定义的位置遵循就近原则,尽量避免跨文件。

2.结构体或类

当定义的类型只是数据的集合且内部无复杂的处理逻辑时选择用 struct,反之如果更注重行为的封装则选择class 。

原因:struct存在于栈上,用完即销毁。
注意:由于栈有容量限制,避免在struct中存放超大量的值类型。

3.单文件(.hpp) or 多文件(.h,.cpp)

当模块只是一些信息的集合且无复杂内部逻辑可以使用.hpp,反之使用多文件方式。

原因:模块逻辑复杂时,会经常变动,如果引用的外部模块多而使用.hpp时,编译时间会变长。

4.单例类

把构造函数声明为私有。

原因:基于单例的定义,不允许类型不受控制的实例化。

http://www.lryc.cn/news/39808.html

相关文章:

  • React教程详解四(hooks、pureComponent、Context通信、错误边界、children props与render props)
  • 【Spring从成神到升仙系列 二】2023年再不会 IOC 源码,就要被淘汰了
  • 菜鸟的进阶--手写一个小型dubbo框架
  • js逆向爬取某音乐网站某歌手的歌曲
  • 为什么软件测试面试了几个月都没有offer,从HR角度分析
  • DC-7 靶场学习
  • 深入理解JavaScript的事件冒泡与事件捕获
  • 格密码学习笔记(六):格中模运算
  • 【C++】非常重要的——多态
  • 发票账单很多?python助你批量完成数据提取
  • [闪存2.1] NAND FLASH特性串烧 | 不了解闪存特性,你能用好闪存产品吗?
  • 面试官问我按钮级别权限怎么控制,我说v-if,面试官说再见
  • 阿里云服务器使用教程:CentOS 7安装nginx详细步骤
  • Android JNI浅析、Java和Native通信对象的传值和回调
  • linux目录/usr/lib/systemd/system目录详解
  • 408考研计算机之计算机组成与设计——知识点及其做题经验篇目4:CPU的功能和基本结构
  • 2022-12-10青少年软件编程(C语言)等级考试试卷(五级)解析
  • 刷题专练之链表(一)
  • elasticsearch高级查询api
  • 力扣-股票的资本损益
  • 蓝桥杯刷题冲刺 | 倒计时26天
  • 嵌入式软件开发之Linux 用户权限管理
  • 2023-03-15 RabbitMQ
  • 二叉树链式结构的实现
  • 蓝桥杯刷题冲刺 | 倒计时28天
  • 一文带你吃透操作系统
  • 计算机网络英文简称汇总
  • 腾讯云云服务器标准型S5性能配置简单测评
  • RK3568平台开发系列讲解(Linux系统篇)消息队列
  • 2021电赛国一智能送药小车(F题)设计报告