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.类命名规则
类型命名每个单词首字母大写,不含下划线,以名词形式。比如:MyPalyerManager
,这对于所有类型命名一样,类结构体,枚举,类定义都是如此,比如:MyExcitingEnum
3.变量命名规则
变量名一律小写,单词用下划线相连,例如:int player_id; string table_name;
特殊的是类成员变量,后跟下划线区别普通变量,比如:player_name_ player_id_
全局变量则以 g_ 开头,比如 :g_system_time
当然结构体成员变量还是和普通变量一样,比如:string name; int num_entries;
4.常量命名规则
k后面跟大写字母开头的单词,比如:
const int kDaysInAWeek=7; const string kCompanyName=”Tecent”;
5.函数命名规则
常规函数每个单词首字母大写,使用命令式语气,比如:OpenFile() CheckFileName()
,
而存取函数或短小的内联函数使用小写加下划线,且与访问变量相吻合,比如set_num_errors();
6.枚举命名规则
枚举类名属于类型名,按类命名,枚举值全大写加下划线,比如:ENUM_NAME
。
7.宏变量命名规则
如果你一定要用到宏,全大写加下划线,比如:define PI_ROUND 3.0
。
C++命名规范——谷歌规范的更多相关文章
- CSS那些事!这个篇幅是我特意开的,不是因为帮助小菜之类的,而是在多人的团队配合中各种命名冲突的规范让人蛋疼
CSS那些事!这个篇幅是我特意开的,不是因为帮助小菜之类的,而是在多人的团队配合中各种命名冲突的规范让人蛋疼. css这个东西只要不是新的离谱都会写,但是每个人的命名风格,方法,都不同 有人喜欢驼峰, ...
- SQL Server 数据库设计、命名、编码规范
https://blog.csdn.net/songguozhi/article/details/5858159 SQL Server 数据库设计.命名.编码规范
- JavaSript模块规范 - AMD规范与CMD规范介绍(转)
JavaSript模块规范 - AMD规范与CMD规范介绍 JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者 ...
- php命名、注释规范
一.注释 1.文件头部模板 /** *这是一个什么文件 * *此文件程序用来做什么的(详细说明,可选.). * @author richard<e421083458@163.com> * ...
- SQL Server性能优化(4)命名和书写规范
命名规范是一个老生常谈的问题,好的命名规范对于团队程序开发,对bug定位.处理,项目延续有很重要的作用. 一. 列举现在的问题: 1.名称首字母不大写 2. 用中文名字 ...
- JAVA命名、注释规范
一.命名规范 1. 项目名全部小写 2. 包名全部小写(除非部分是缩写) 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClas ...
- mysql-笔记-命名、索引规范
1 命名规范 所有数据库对象名称必须使用小写字母并用下划线分割 禁止使用mysql保留关键字 ---如果表名中包含关键字查询时,需要将其有单引号括起来 见名识意,并且最后不要超过32个字符 临时库表以 ...
- 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...
- css命名和书写规范
前言 在项目开发中对于css名字的命名和书写老是感觉很混乱,这对于代码的可读性以及维护提出了挑战,所以在闲暇之余看了一些这方面的内容,现总结如下... 1.命名规则说明 所有的命名最好都小写 属性的值 ...
随机推荐
- ES6转换ES5
各大浏览器的最新版本,对 ES6 的支持可以查看kangax.github.io/es5-compat-table/es6/.随着时间的推移,支持度已经越来越高了,超过 90%的 ES6 语法特性都实 ...
- MQTT 协议学习:006-订阅主题 与 对应报文(SUBSCRIBE、SUBACK、UNSUBSCRIBE、UNSUBACK)
背景 之前我们提到了怎么发布消息对应的报文:现在我们来看,订阅一个主题的报文是怎么样的. SUBSCRIBE - 订阅主题 客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅.每个订阅注册 ...
- (实例)Linux 内核添加exfat驱动
背景: 由于exfat是常用的文件系统格式,而Linux由于版权的问题,没有在官方中添加有关的驱动. 但是 微软也同意开源了,所以比较新的 Linux 会支持这一块. 为了支持exfat的驱动,我们需 ...
- mysql5.7修改账户密码
一.首次登录时,修改root账户的密码: vim /etc/my.cnf 在末尾添加 skip-grant-tables ,保存. service mysqld restart 再次登录时,不需要密码 ...
- 【转】Windows中使用TortoiseGit提交项目到GitLab配置
转 原文地址 https://www.cnblogs.com/xiangwengao/p/4134492.html 下文来给各位介绍Windows中使用TortoiseGit提交项目到GitLa ...
- 017、MySQL取第4本季度开始和结束日期
#取第4本季度开始和结束日期 SELECT QUARTER ( adddate( dy, ) ) QTR, date_add( dy, INTERVAL MONTH ) Q_start, adddat ...
- App与Js交互(三)Android、iOS通用解决方案推荐
https://www.jianshu.com/p/6224f429ce87 window.navigator.userAgent用来区分设备和浏览器 https://blog.csdn.net/li ...
- 吴裕雄--天生自然java开发常用类库学习笔记:线程常用的操作方法
class MyThread implements Runnable{ // 实现Runnable接口 public void run(){ // 覆写run()方法 for(int i=0;i< ...
- 吴裕雄--天生自然java开发常用类库学习笔记:Map接口
import java.util.HashMap ; import java.util.Map ; public class HashMapDemo01{ public static void mai ...
- LeetCode160 相交链表(双指针)
题目: click here!!题目传送门 思路: 1.笨方法 因为如果两个链表相交的话,从相交的地方往后是同一条链表,所以: 分别遍历两个链表,得出两个链表的长度,两个长度做差得到n,然后将长的链表 ...