我的命名规范

p { margin-bottom: 0.21cm; }code.cjk { font-family: "DejaVu Sans",monospace; }code.ctl { font-family: "DejaVu Sans Mono",monospace; }

1. 命名规则有: 帕斯卡 (pascal)--> 首字母大写 , 骆驼命名法 --> 首字母小写 , 匈牙利命名法 --> 一个或者多个小写字母开头作为前缀 .( 前两种常用于 C# ,后一种常用与 C++) 。而我倾向于前两种。

2.工程名,文件夹名,文件名,类名,函数名 ———— >pascal

3.函数

函数的命名

函数的名称由一个或多个单词组成。为便于界定,每个单词的首字母要大写。


推荐的组成形式

函数名应当使用 "动词 "或者 "动词+名词 "(动宾词组)的形式。例如: "GetName()", "SetValue()", "Erase()", "Reserve()" ....


保护成员函数

保护成员函数的开头应当加上一个下划线“ _”以示区别,例如: "_SetState()" ....


私有成员函数

类似地,私有成员函数的开头应当加上两个下划线“ __”,例如: "__DestroyImp()" ....


虚函数

虚函数习惯以“ Do”开头,如: "DoRefresh()", "_DoEncryption()" ....


回调和事件处理函数

回调和事件处理函数习惯以单词“ On”开头。例如: "_OnTimer()", "OnExit()" ....

4.变量

变量的命名

变量名由作用域前缀+类型前缀+一个或多个单词 组成。为便于界定,每个单词的首字母要大写。

对于某些用途简单明了的局部变量,也可以使用简化的方式,如: i, j, k, x, y, z ....

 

作用域前缀

作用域前缀标明一个变量的可见范围。作用域可以有如下几种:

前缀

说明

局部变量

m_

类的成员变量( member)

sm_

类的静态成员变量( static member)

s_

静态变量( static)

g_

外部全局变量( global)

sg_

静态全局变量( static global)

gg_

进程间共享的共享数据段全局变量( global global)

除非不得已,否则应该尽可能少使用全局变量。

 

类型前缀

类型前缀标明一个变量的类型,可以有如下几种:

前缀

说明

n

整型和位域变量( number)

e

枚举型变量( enumeration)

c

字符型变量( char)

b

布尔型变量( bool)

f

浮点型变量( float)

p

指针型变量和迭代子( pointer)

pfn

特别针对指向函数的指针变量和函数对象指针( pointer of function)

g

数组( grid)

i

类的实例( instance)

对于经常用到的类,也可以定义一些专门的前缀,如: std::string和 std::wstring类的前缀可以定义为 "st", std::vector类的前缀可以定义为 "v"等等。

类型前缀可以组合使用,例如 "gc"表示字符数组, "ppn"表示指向整型的指针的指针等等。

 

推荐的组成形式

变量的名字应当使用 "名词 "或者 "形容词+名词 "。例如: "nCode", "m_nState", "nMaxWidth" ....


你可能感兴趣的:(命名规范)