登录站点

用户名

密码

匈牙利命名法(Hungarian-Notation)

已有 249 次阅读  2011-12-25 20:04   标签class  命名  匈牙利  center  topic 
匈牙利命名法(Hungarian-Notation) 


据说这种命名法是一位叫 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命名法的一般规则。

上一篇: C语言深入浅出 :回味经典 下一篇: 行业交流]值得收藏的11个管理网站

分享 举报