在对照我们团队的《代码编写规范》 进行代码复审时,我不仅加深了对项目的理解,还学到了许多新的,书本上没有的知识,例如各种各样的命名规则。
C#命名规范:
- 尽量采用以前采用过的命名规则;
- 尽量采用相同的命名规则,以方便记忆;
- 尽量采用来自官方(如Sun、MS)的命名规则。
- 方法,类型使用Pascal命名法来命名;局部变量,方法的参数使用camel命名法来命名;其他的使用匈牙利命名法命名。
匈牙利命名法:
广泛应用于象Microsoft Windows这样的环境中Windows编程中用到的变量(还包括宏)的命名规则匈牙利命名法, 这种命名技术是由一位Microsoft的程序员Charles Simonyi提出的。 其基本原则是:变量名=属性+类型+对象描述,通过在变量名前面加上相应的小写字母的符号标识作为前缀, 标识出变量的作用域,具体如下表所示:
- 属性部分:
g_ | 全局变量 |
---|---|
c_ | 常量 |
m_ | c++类成员变量 |
s_ | 静态变量 |
- 类型部分:
数组 | a |
---|---|
指针 | p |
函数 | fn |
无效 | v |
句柄 | h |
长整型 | l |
布尔 | b |
浮点型(有时也指文件) | f |
双字 | dw |
字符串 | sz |
短整型 | n |
双精度浮点 | d |
计数 | c(通常用cnt) |
字符 | ch(通常用c) |
整型 | i(通常用n) |
字节 | by |
字 | w |
实型 | r |
无符号 | u |
- 描述部分:
最大 | Max |
---|---|
最小 | Min |
初始化 | Init |
临时变量 | T(或Temp) |
源对象 | Src |
目的对象 | Dest |
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀; 前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
例如:g_s
Camel命名法:
指混合使用大小写字母来构成变量和函数的名字,首字母小写,函数名中的每一个逻辑断点都有一个大写字母来标记,即第一个单词以小写字母开始,第二个单词的首字母大写或每一个单词的首字母都采用大写字母。
骆驼式命名法近年来越来越流行了, 在许多新的函数库和Microsoft Windows这样的环境中,它使用得相当多。
例如:helloWorld
Pascal命名法:
与骆驼命名法类似只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写,即第一个单字首字母采用大写字母,后续单字的首字母亦用大写字母。
例如:HelloWorld
参考: