匈牙利命名法

Posted zebra-bin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匈牙利命名法相关的知识,希望对你有一定的参考价值。

一、简介

匈牙利命名法(Hungarian Notation),是由1972年至1981年在施乐公司工作的程序员查尔斯.西蒙尼(Charles.Simony),此人后来成为微软的总设计师,因其祖籍是匈牙利,故有此名。

二、规则

1、属性部分

全局变量 g_
常量 c_
类的成员变量 m_
静态常量 s_

2、类型部分

数组 a 长整型 l
指针 p 布尔型 b
函数 fn 浮点型 f
无效 v 双字节 dw
句柄 h 字符串 sz
短整型 n 双精度浮点型 d
计数 cnt 字符 ch
整数 i 字节 by
字节 w 无符号 u

3、描述部分

最大 Max 最小 Min
初始化 Init 临时变量 Temp
源对象 Src 目的对象 Dest

例子:变量定义的这些描述符号可以多个同时使用,顺序一般是m_,再指针,再简单数据类型,再其它。

hwnd: h类型描述,表示句柄;wnd是变量的对象描述,表示窗口,所以hwnd表示窗口句柄。

pfnEatApple: pfn是类型描述,表示指向函数的指针;EatApple是变量对象描述,所以pfnEatApple表示指向EatApple函数的函数指针变量。

m_lpszStr: m_表示是成员变量;l表示长整型;p表示指针;sz表示的是字符串;Str是对象描述;所以m_lpszStr的含义就是表示指向一个字符串的长指针成员变量。

 

以上是关于匈牙利命名法的主要内容,如果未能解决你的问题,请参考以下文章

编程中三种命名方法——匈牙利命名法骆驼命名法帕斯卡(pascal)命名法

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

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

匈牙利命名法

JS三大经典变量命名法

匈牙利命名法