标签:style blog http color io os ar 使用 for
一、匈牙利命名法
Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。
匈牙利命名法基本原则是:变量名=属性+类型+对象描述,通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。匈牙利命名法中常用的小写字母的前缀:
前缀 | 数据类型 | 说明 |
a | Array | 数组 |
b | BOOL(int) | 布尔(整数) |
by | Unsigned Char (Byte) | 无符号字符(字节) |
c | Char | 字符(字节) |
cb | Count of bytes | 字节数 |
cr | Color reference value | 颜色(参考)值 |
cx,cy | Count of x,y (Short int) | x,y的集合(短整数) |
dw | DWORD (unsigned long) | 双字(无符号长整数) |
f | Flags (usually multiple bit values) | 标志(一般是有多位的数值) |
fn | Function | 函数 |
g_ | global | 全局的 |
h | Handle | 句柄 |
i | Integer | 整型 |
l | Long int | 长整数 |
lp | Long pointer | 32位的长整数指针 |
m_ | Data member of a class | 一个类的数据成员 |
msg | message | 消息 |
n | Short Int | 短整型 |
np | Near Pointer | 近指针 |
p | Pointer | 指针 |
s | string | 字符串型 |
sz,str | Zero terminated String | 以NULL作结尾的字符串型 |
tm | Text metric | 文本规则 |
u | Unsigned int | 无符号整数 |
ul | Unsigned long (ULONG) | 无符号长整数 |
w | WORD (unsigned short) | 无符号短整数 |
x,y | x,y coordinates (short) | x,y坐标值(短整数) |
v | void | 空 |
…… | …… | …… |
编程规范 | |||
类型 | 命外规则 | 说明 | |
命名空间 namespace | Pascal | 以.分隔,其中每一个限定词均为Pascal命名方式 如ExcelQuicker.Work | |
类 class | Pascal | 每一个逻辑断点首字母大写 如public class MyHome | |
接口 interface | IPascal | 每一个逻辑断点首字母大写,总是以I前缀开始,后接Pascal命名 如public interface IBankAccount | |
方法 method | Pascal | 每一个逻辑断点首字母大写 如private void SetMember(string) | |
枚举类型enum | Pascal | 每一个逻辑断点首字母大写 | |
委托 delegate | Pascal | 每一个逻辑断点首字母大写 | |
局部变量 方法的参数 | Camel | 首字母小写,之后Pascal命名 如string myName | |
具体应用的一般良好习惯 | |||
1、 | 成员变量前加前缀 _ | ||
2、 | 接口的名称加前缀I | ||
3、 | 自定义的属性以Attribute结尾,如: public class AuthorAttribute :Attribute { } | ||
4、 | 自定义的异常以Exception结尾,如: public class AppException: Exception { | ||
5、 | 方法的命名。一般将其命名为动宾短语,如: ShowDialog() CreateFile() | ||
6、 | 代码的缩进。要用Tab,而不要用space. | ||
7、 | 局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。 | ||
8、 | 所有的成员变量声明在类的顶端,用一个换行把它和方法分开。 | ||
9、 | 用有意义的名字命名namespace,如:产品名、公司名。 | ||
10、 | 生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string。 | ||
11、 | 始终使用”{ }”包含if下的语句,即使只有一条语句。 | ||
12、 | 把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion |
转载自:http://shitou7630.blog.163.com/blog/static/3269953620126230351197/
匈牙利命名法,骆驼命名法(camel),帕斯卡(Pascal)命名法(转)
标签:style blog http color io os ar 使用 for
原文地址:http://www.cnblogs.com/zsb517/p/4036160.html