【Var】代码变量命名规范

一、匈牙利命名法


匈牙利命名法广泛应用于象Microsoft Windows这样的环境中。

Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。 

 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变 量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 

匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

变量名=属性+类型+对象描述

匈牙利命名法中常用的小写字母的前缀:

##############################################

前 缀              类 型 

a               数组 (Array) 

b               布尔值 (Boolean) 

by             字节 (Byte) 

c               有符号字符 (Char) 

cb             无符号字符 (Char Byte,没有多少人用) 

cr              颜色参考值 (ColorRef) 

cx,cy         坐标差(长度 ShortInt) 

dw             Double Word 

fn              函数 

h               Handle(句柄) 

i                整型 

l                长整型 (Long Int) 

lp              Long Pointer 

m_            类的成员 

n               短整型 (Short Int) 

np             Near Pointer 

p               Pointer 

s               字符串型 

sz             以null做结尾的字符串型 (String with Zero End) 

w              Word 

#####################################################


二、骆驼命名法


骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。

例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

    printEmployeePaychecks();

    print_employee_paychecks();

第一个函数名使用了骆驼式命名法:函数名中的每一个逻辑断点都有一个大写字母来标记;

第二个函数名使用了下划线法:函数名中的每一个逻辑断点都有一个下划线来标记。

    骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。


三、帕斯卡(pascal)命名法


   帕斯卡命名法与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写

如:public void DisplayInfo();

      String UserName;

二者都是采用了帕斯卡命名法。

在C#中,以帕斯卡命名法和骆驼命名法居多。


四、下划线命名法

所有字母均小写,每个单词间以下划线分割,样子像 “nginx_vip”


五、总结


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

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

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

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

六、参考

https://akaedu.github.io/book/index.html

http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/naming

https://leohxj.gitbooks.io/a-programmer-prepares/programmer-basic/naming.html

http://blog.woyun.ink/2018/03/24/commonly-used-variable-naming-method.html

http://www.cnblogs.com/netfocus/p/3896118.html

你可能感兴趣的:(【Var】代码变量命名规范)