我的命名规范

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_

类的静态成员变量(staticmember)

s_

静态变量(static)

g_

外部全局变量(global)

sg_

静态全局变量(staticglobal)

gg_

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

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

 

类型前缀

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

前缀

说明

n

整型和位域变量(number)

e

枚举型变量(enumeration)

c

字符型变量(char)

b

布尔型变量(bool)

f

浮点型变量(float)

p

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

pfn

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

g

数组(grid)

i

类的实例(instance)

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

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

 

推荐的组成形式

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


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