zoukankan      html  css  js  c++  java
  • 匈牙利命名法,骆驼命名法(camel),帕斯卡(Pascal)命名法(转)

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

         匈牙利命名法基本原则是:变量名=属性+类型+对象描述,通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 
         匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。匈牙利命名法中常用的小写字母的前缀:

    前缀

    数据类型

    说明

    a

    Array

    数组

    b

    BOOL(int)

    布尔(整数)

    by

    Unsigned Char (Byte)

    无符号字符(字节)

    c

    Char

    字符(字节)

    cb

    Count of bytes

    字节数

    cr

    Color reference value

    颜色(参考)

    cxcy

    Count of x,y (Short int)

    x,y的集合(短整数)

    dw

    DWORD (unsigned long)

    双字(无符号长整数)

    f

    Flags (usually multiple bit values)

    标志(一般是有多位的数值)

    fn

    Function

    函数

    g_

    global

    全局的

    h

    Handle

    句柄

    i

    Integer

    整型

    l

    Long int

    长整数

    lp

    Long pointer

    32位的长整数指针

    m_

    Data member of a class

    一个类的数据成员

    msg

    message

    消息

    n

    Short Int

    短整型

    np

    Near Pointer

    近指针

    p

    Pointer

    指针

    s

    string

    字符串型

    szstr

    Zero terminated String

    NULL作结尾的字符串型

    tm

    Text metric

    文本规则

    u

    Unsigned int

    无符号整数

    ul

    Unsigned long (ULONG)

    无符号长整数

    w

    WORD (unsigned short)

    无符号短整数

    xy

    xy coordinates (short)

    x,y坐标值(短整数)

    v

    void

    ……

    ……

    ……

    二、骆驼命名法:
             骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
    printEmployeePaychecks();
    print_employee_paychecks();
    第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。
    骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍

    三、帕斯卡(pascal)命名法
    与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写
    如:public void  DisplayInfo();
           string UserName;
    二者都是采用了帕斯卡命名法.,在C#中,以帕斯卡命名法和骆驼命名法居多。
    在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则。在最近发布的.NET和它的编程语言中,微软更换了他的这一法则。C#中,以帕斯卡命名法和骆驼命名法居多。以下就是 帕斯卡命名法和骆驼命名法的具体使用。

    编程规范

    类型

    命外规则

    说明

    命名空间 namespace

    Pascal

    .分隔,其中每一个限定词均为Pascal命名方式 ExcelQuicker.Work

     class

    Pascal

    每一个逻辑断点首字母大写

    public class MyHome

    接口 interface

    IPascal

    每一个逻辑断点首字母大写,总是以I前缀开始,后接Pascal命名

    public interface IBankAccount

    方法 method

    Pascal

    每一个逻辑断点首字母大写

    private void SetMember(string)

    枚举类型enum

    Pascal

    每一个逻辑断点首字母大写

    委托 delegate

    Pascal

    每一个逻辑断点首字母大写

    局部变量

    方法的参数

    Camel

    首字母小写,之后Pascal命名

    string myName

    具体应用的一般良好习惯

    1

    成员变量前加前缀 _

    2

    接口的名称加前缀I

    3

    自定义的属性以Attribute结尾,如:

    public class AuthorAttribute Attribute

    {

    }

    4

    自定义的异常以Exception结尾,如:

    public class AppException Exception

    {
    }

    5

    方法的命名。一般将其命名为动宾短语,如:

    ShowDialog()

    CreateFile()

    6

    代码的缩进。要用Tab,而不要用space.

    7

    局部变量的名称要有意义。不要用xyz等等(除用于For循环变量中可使用ijklmn)。

    8

    所有的成员变量声明在类的顶端,用一个换行把它和方法分开。

    9

    用有意义的名字命名namespace,如:产品名、公司名。

    10

    生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string

    11

    始终使用”{ }”包含if下的语句,即使只有一条语句。

    12

    把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion

    转载自:http://shitou7630.blog.163.com/blog/static/3269953620126230351197/

  • 相关阅读:
    iOS 音频视频图像合成那点事
    Android低功耗蓝牙(BLE)使用详解
    android实现超酷的腾讯视频首页和垂直水平网格瀑布流一揽子效果
    基于vue单页应用的例子
    Android 6.0 超级简单的权限申请 (Permission)
    ubuntu创建Centos7镜像&&配置运行环境
    Scikit-learn方法使用总结
    解决TensorFlow最新代码编译错误问题
    jQuery 基础
    数据交换格式 —— JSON(JavaScript Object Notation)
  • 原文地址:https://www.cnblogs.com/zsb517/p/4036160.html
Copyright © 2011-2022 走看看