匈牙利命名法

原创 2007年09月25日 09:35:00
牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。还是那句话,并不是要求所有的读者都要去遵守,但是希望读者作为一个现代的软件开发人员都去遵守它。

 

 

 

  a       Array                                 数组

  b       BOOL (int)                            布尔(整数)

  by      Unsigned Char (Byte)                  无符号字符(字节)

  c       Char                                  字符(字节)

  cb      Count of bytes                        字节数

  cr      Color reference value                 颜色(参考)值

  cx      Count of x (Short)                    x的集合(短整数)

  dw      DWORD   (unsigned long)                 双字(无符号长整数)

  f       Flags   (usually multiple bit values)   标志(一般是有多位的数值)

  fn      Function                              函数

  g_      global                                全局的

  h       Handle                                句柄

  i       Integer                               整数

  l       Long                                  长整数

  lp      Long pointer                          长指针

  m_      Data member of a class                一个类的数据成员

  n       Short int                             短整数

  p       Pointer                               指针

  s       String                                字符串

  sz      Zero terminated String                以0结尾的字符串

  tm      Text metric                           文本规则

  u       Unsigned int                          无符号整数

  ul      Unsigned long (ULONG)                 无符号长整数

  w       WORD (unsigned short)                 无符号短整数

  x,y     x, y coordinates (short)              坐标值/短整数

  v       void                                  空

 

 

 

有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。

 

前缀       类型       例子

g_    全局变量       g_Servers

C     类或者结构体       CDocument,CPrintInfo

m_   成员变量       m_pDoc,m_nCustomers

 

VC常用前缀列表:

 

前缀       类型       描述       例子

ch    char 8位字符    chGrade

ch    TCHAR       16位UNICODE类型字符       chName

b     BOOL       布尔变量       bEnabled

n     int    整型(其大小由操作系统决定)       nLength

n     UINT       无符号整型(其大小由操作系统决定)       nLength

w    WORD       16位无符号整型    wPos

l      LONG       32位有符号整型    lOffset

dw   DWORD       32位无符号整型       dwRange

p     *       Ambient memory model pointer 内存模块指针,指针变量    pDoc

lp     FAR*       长指针       lpDoc

lpsz  LPSTR       32位字符串指针       lpszName

lpsz  LPCSTR       32位常量字符串指针       lpszName

lpsz  LPCTSTR       32位UNICODE类型常量指针       lpszName

h     handle       Windows对象句柄       hWnd

lpfn  (*fn)()       回调函数指针 Callback Far pointer to CALLBACK function       lpfnAbort

 

我眼中的匈牙利命名法

上个月Linus通过Linux内核邮件列表一怒为注释,要求内核开发者“get rid of thebrain-damaged stupid networking comment syntax st...
  • tintinr
  • tintinr
  • 2016年09月04日 23:25
  • 1918

C++之匈牙利命名法

在编程时,变量、函数的命名是一个极其重要的问题。好的命名方法使变量易于记忆且程序可读性大大提高。Microsoft采用匈牙利命名法来命名Windows API函数和变量。匈牙利命名法是由Microso...
  • business122
  • business122
  • 2013年07月18日 17:07
  • 1039

JavaScript变量命名规则:匈牙利命名法

匈牙利命名法语法 变量名=类型+对象描述 类型指变量的类型对象描述指对象名字全称或名字的一部分,要求有明确含义,命名要容易记忆容易理解。 提示 虽然JavaScript变量表面上没有类型,...
  • chenqun123
  • chenqun123
  • 2015年09月06日 14:11
  • 786

匈牙利命名法的衰落和建议

首先要说明的是,此文只是一篇关于个人看法的随笔,不是paper。我也无意再次挑起这场旷日持久却已结束的争论。 1.不太久远的历史 匈牙利命名法(Hungarian Nota...
  • yangluoning
  • yangluoning
  • 2013年09月13日 09:28
  • 3155

变量命名--匈牙利命名法(为N多个变量命名可真不容易)

不知道别的公司如何,反正我现在的公司对变量命名并没有一定的规范,唯一要求就是能简单易懂,但是,我想,这个多个程序员,大概每个人都有自己习惯的一套命名规则吧,不过,要是并不通用的话,大概看别人的程序会很...
  • cclovetwins
  • cclovetwins
  • 2007年08月08日 12:48
  • 523

三种编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法)

1 . 匈牙利命名: 开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。 ex: int iMyAge; “i”是int类型的缩写; char cMyNam...
  • f_zyj
  • f_zyj
  • 2016年05月26日 19:52
  • 26271

匈牙利命名法

匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是...
  • shugisimon
  • shugisimon
  • 2008年05月24日 23:05
  • 219

匈牙利命名法规范

匈牙利命名法是电脑程序设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法。 系统命名法与应用命名法的区别在于前缀的目的。 在系统匈牙利命名法中,前缀代表了变量的实际数...
  • zhiweiarm
  • zhiweiarm
  • 2013年05月24日 10:25
  • 1330

匈牙利命名法

匈牙利命名法————————————————维基百科 匈牙利命名法是电脑程序设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法。 匈牙利命名法具备语言独立的特...
  • you1314520me
  • you1314520me
  • 2013年08月27日 01:08
  • 777

匈牙利命名法

匈牙利命名法 匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证...
  • surfer1212
  • surfer1212
  • 2006年11月22日 21:58
  • 493
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:匈牙利命名法
举报原因:
原因补充:

(最多只允许输入30个字)