匠人的百宝箱--匈牙利命名法

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:54:38
[资料宝藏]匈牙利命名法
程序匠人 发表于 2005-12-19 23:41:00      阅读全文(438) |回复(0) |引用(0)

匈牙利命名法(Hungarian-Notation)(转载) [转贴 2005-10-13 13:30:36 ] 发表者: 蓝色御风
据说这种命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是
这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己使用
什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把量名变按:属性+类型
+对象 描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面
是HN变量命名规范,其中也有一些是我个人的偏向:
属性部分
全局变量              g_
常量                  c_
c++类成员变量         m_
静态变量              s_
类型部分
指针                  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
这里顺便写几个例子:
hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;
pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示
指向 EatApple 函数的函数指针变量。
g_cch : g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。
上面就是HN命名法的一般规则。
_xyz