匈牙利命名法及实用规则.
- 格式:doc
- 大小:20.50 KB
- 文档页数:9
一、匈牙利命名法:
Windows 编程中用到的变量(还包括宏的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼 (Charles Simonyi 提出的。
基本原则是:
变量名=属性+类型+对象描述
⑴属性部分:
全局变量:g_
常量 :c_
类成员变量:m_
⑵类型部分:
数组:a
布尔型:b byte: by
char: c 字节计数 : cb 颜色引用值 : cr 坐标差(长度 : cx,cy
双字 (DWORD: dw
浮点型:f 函数 : fn
句柄:h
整数 (integer: i
长整型 (long: l long 型指针 : lp
短整型:n near 指针 : np
指针:p
string: s 用 '\0'终止的字符串 : sz
文本内容 : tm
无符号:u
Word: w
坐标 : x,y
⑶描述部分:
初始化:Init
临时变量:Tmp
目的对象:Dst
源对象:Src
窗口:Wnd
下边举例说明:
hwnd :h 表示句柄, wnd 表示窗口,合起来为“窗口句柄” 。
m_bFlag:m 表示成员变量, b 表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志” 。
1,变量命名;
2,常量命名、宏定义;
3,资源名字定义格式;
4,函数命名和命名空间、类的命名、接口的命名;
5,结构体命名;
6,控件的命名;
7,注释;
本文来自 CSDN 博客,转载请标明出
处:/stkim/archive/2004/09/29/120347.aspx 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀, 标识出变量的作用域, 类型等。这些符号可以多个同时使用, 顺序是先 m_(成员变量 , 再指针, 再简单数据类型, 再其他。例如:m_lpszStr, 表示指向一个以 0字符结尾的字符串的长指针成员变量。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
匈牙利命名法中常用的小写字母的前缀:
前缀类型
a 数组 (Array
b 布尔值 (Boolean
by 字节 (Byte
c 有符号字符 (Char
cb 无符号字符 (Char Byte,没有多少人用
cr 颜色参考值 (ColorRef
cx,cy 坐标差(长度 ShortInt
dw Double Word
fn 函数
h Handle (句柄
i 整型
l 长整型 (Long Int
lp Long Pointer
m_ 类的成员
二、骆驼命名法 :
骆驼式命令法, 正如它的名称所表示的那样, 是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
printEmployeePaychecks(;
print_employee_paychecks(;
第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记; 第二个函数名使用了下划线法 ----函数名中的每一个逻辑断点都有一个下划线来标记。
骆驼式命名法近年来越来越流行了,在许多新的函数库和 Microsoft
Windows 这样的环境中,它使用得当相多。另一方面,下划线法是 c 出现后开始流行起来的,在许多旧的程序和 UNIX 这样的环境中,它的使用非常普遍。
三、帕斯卡(pascal 命名法:
与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写
如:public void DisplayInfo(;
string UserName;
二者都是采用了帕斯卡命名法 .
本文来自 CSDN 博客 , 转载请标明出处 :
/tangxin168/archive/2007/04/30/1593221.aspx
匈牙利命名规则 ..who can tell me ?
---------------------------------------------------------------
比较著名的命名规则当推 Microsoft 公司的“ 匈牙利” 法,该命名规则的主要思想是“ 在变量和函数名中加入前缀以增进人们对程序的理解” 。例如所有的字符变量均以 ch 为前缀,若是指针变量则追加前缀 p 。如果一个变量由 ppch 开头,则表明它是指向字符指针的指针。
“ 匈牙利” 法最大的缺点是烦琐,例如
int i, j, k;
float x, y, z;
倘若采用“ 匈牙利” 命名规则,则应当写成
int iI, iJ, ik; // 前缀 i表示 int 类型
float fX, fY, fZ; // 前缀 f表示 float 类型
如此烦琐的程序会让绝大多数程序员无法忍受。
据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“ 成败悠关” 的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。
3.1 共性规则
本节论述的共性规则是被大多数程序员采纳的,我们应当在遵循这些共性规则的前提下,再扩充特定的规则,如 3.2节。
l 【规则 3-1-1】标识符应当直观且可以拼读,可望文知意,不必进行“ 解码” 。
标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把 CurrentValue 写成 NowValue 。
l 【规则 3-1-2】标识符的长度应当符合“min -length && max-information” 原则。
几十年前老 ANSI C规定名字不准超过 6个字符,现今的 C++/C不再有此限制。一般来说,长名字能更好
地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。那么名字是否越长约好?不见得 ! 例如变量名 maxval 就比 maxValueUntilOverflow 好用。单字符的名字也是有用的,常见的如 i,j,k,m,n,x,y,z 等,它们通常可用作函数内的局部变量。
l 【规则 3-1-3】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。
例如 Windows 应用程序的标识符通常采用“ 大小写” 混排的方式,如AddChild 。而 Unix 应用程序的标识符通常采用“ 小写加下划线” 的方式,如
add_child。别把这两类风格混在一起用。