命名规则:

    类似 Total、 Sum、 Average、 Max、 Min、 Record、 String、 Pointer 这样的表示计算结果的词语修饰某个变量时,请记住放在最后面。

/**

* 这组变量具有非常优雅的对称性。

*一致性,对称性,可以极大的提高可读性,简化维护工作。

*/

revenueTotal    revenueAverage

expenseTotal    expenseAverage

/**

*这组变量与上组变量相比,其对称性和可读性就很差。

*/

totalRevenue    averageRevenue   

totalExpense    averageExpense

5.为枚举类型命名

    使用组前缀,如Color_ , Planet_ , Month_ 就可以了。如Color_Red, Color_Blue都是表示同属于一个组。

 

1. 驼峰命名法

1.1 小驼峰法

    除第一个单词之外,其他单词首字母大写(常用于变量)

int myStudentNumber

1.2 大驼峰法(帕斯卡命名法)

    每一个单词的首字母都采用大写字母(常用语类名,函数名,属性,命名空间)

class StudentFamily

2. 匈牙利命名法

    变量名=属性+类型+对象描述,这样做的好处是使程序员第一眼看到变量时就对变量的类型和其它属性有直观的了解。

2.1 匈牙利命名法 - 属性

全局变量 g_

常量 c_

成员变量 m_

静态变量 s_

2.2 匈牙利命名法 - 类型

指针 p

函数 fn

无效 v

句柄 h

长整型 l

布尔 b

浮点型 f

双字 dw

字符串 sz

短整型 n

双精度浮点 d

计数 c(通常用cnt)

字符 ch(通常用c)

整型 i(通常用n)

字节 by 字 w

实型 r

无符号 u

2.3 匈牙利命名法 - 描述

最大 Max

最小 Min

初始化 Init

临时变量 T(或Temp)

源对象 Src

目的对象 Dest

3. 下划线命名法

    所有字母均小写,每个单词间以下划线分割

int student_number

 

4. 实例

m_iMyData 是一个匈牙利命名法,m_表示它是成员变量,小写的i说明了它是个整型,后面的和帕斯卡命名相同,指示了该变量的用途

myData 是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼

MyData 就是一个帕斯卡命名的示例

my_data 是一个下划线命名的示例

explicit

 explicit Writer(Pipe *p) : pipe(p) {}

 google的c++规范中提到explicit的优点是可以避免不合时宜的类型变换,缺点无。所以google约定所有单参数的构造函数都必须是显示的,只有极少数情况下拷贝构造函数可以不声明称explicit。例如作为其他类的透明包装器的类。