C/C++ 变量命名规则

 作为c/c++程序员,应该掌握变量的命名规则。正确并形象地给变量命名,不仅可以增加程序的可读性,也是程序员编程风格的一种反映。对变量较好的命名,可以反映出程序员编程功底的深浅。我从网上找到以下介绍几种常用的变量命名规则,和大家分享:

一、匈牙利命名法:广泛应用于象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#中,以帕斯卡命名法和骆驼命名法居多。 
   简单说
    MyData 就是一個帕斯卡命名的示例 
    而myData是一個骆驼命名法,它第一個單詞的第一個字母小寫,後面的單詞首字母大寫,看起來像一個骆驼 
    而iMyData是一個匈牙利命名法,它的小寫的i說明了它的型態,後面的和帕斯卡命名相同,指示了該變量的用途.

   笔者习惯将这三种命名法结合起来,对于函数,笔者倾向于帕斯卡命名法;在编写window环境下的程序时,对于变量的命名,笔者倾向于匈牙利命名方法;在非window环境下的程序时,对于变量的命名,笔者倾向于骆驼命名方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值