目录
1. 术语定义 4
1.1 Pascal 大小写 4
1.2 Camel 大小写 4
2. 文件命名 4
2.1 文件命名 4
2.2 文件注释 4
2.2.1 在每个文件的最开始必须包含以下注释说明 4
2.2.2 在每个方法开始必须包含以下注释说明 4
3. 控件、变量、常量命名规则 5
3.1 控件命名方法 5
3.2 常用控件名简写对照表 5
3.3 变量命名方法 5
3.4 常用类型简写对照表 5
3.5 常量命名方法(const) 5
3.6 全局变量: g_ 5
3.7 类成员变量: m_ 5
3.8 事件 5
3.9 大小写规则 5
4. 编码注意事项 6
4.1 表达式 6
4.2 类型转换 6
5. 附录一: 匈牙利命名法 6
1. 术语定义
1.1 Pascal 大小写
将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用。例如:BackColor
1.2 Camel 大小写
标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如: backColor
2. 文件命名
2.1 文件命名
1. 文件名遵从Pascal命名法,无特殊情况,扩展名小写。
2. 使用统一而又通用的文件扩展名:C# 类 .cs
2.2 文件注释
2.2.1 在每个文件的最开始必须包含以下注释说明
/// <summary>
/// 此文件的功能描述
/// </summary>
/// <remarks>
/// [文件名称]
/// [详细说明]
/// [当前版本]
/// [创建信息]
/// [修改信息]
/// </remarks>
示例:
/// <summary>
/// 数据库方法(SQL SERVER)
/// </summary>
/// <remarks>
/// <remarks>
/// [文件名称] UserDAL.cs
/// [详细说明]
/// [当前版本] 1.0
/// [创建信息] Created by 张三2005-07-20
/// [修改信息-1] Modified by 李四2006-09-29
/// 修改了:xxx(), bbbb()
/// [修改信息-2] Modified by 王五2006-10-2
/// 修改了:xcx(), bbcb()
/// </remarks>
2.2.2 在每个方法开始必须包含以下注释说明
/// <summary>
/// 描述
/// </summary>
示例:
/// <summary>
/// 数据库添加方法(SQL SERVER)
/// </summary>
3. 控件、变量、常量命名规则
3.1 控件命名方法
控件名简写+英文描述,英文描述首字母大写,例:lblUserName, btnSave
3.2 常用控件名简写对照表
控件名 |
简写 |
控件名 |
简写 |
Label |
lbl |
TextBox |
txt |
Button |
btn |
LinkButton |
lnkbtn (or btn) |
ImageButton |
imgbtn (or btn) |
DropDownList |
ddl |
ListBox |
lst |
DataGrid |
dg |
DataList |
dl |
CheckBox |
chk |
CheckBoxList |
chklst |
RadioButton |
rdo |
RadioButtonList |
rdolst |
Image |
img |
Panel |
pnl |
Calender |
cld |
AdRotator |
ar |
Table |
tbl |
RequiredFieldValidator |
rfv |
CompareValidator |
cv |
RangeValidator |
rv |
RegularExpressionValidator |
rev |
ValidatorSummary |
vs |
CrystalReportViewer |
rptviw (or rpt) |
3.3 变量命名方法
变量类型+英文描述,英文描述首字母大写,例:intCount, dsUser
3.4 常用类型简写对照表
对象名 |
简写 |
对象名 |
简写 |
Int |
int |
DataTable |
dt |
String |
str |
DataRow |
dr |
DataSet |
ds |
DataView |
dv |
Double |
dbl |
Object |
obj |
Decimal |
dec |
HashTable |
ht |
Single |
sng |
Char |
chr |
Boolean |
bln |
DateTime |
dtm |
3.5 常量命名方法(const)
所有单词大写,多个单词之间用"_" 隔开。 如: public const string PAGE_TITLE ="Welcome";
3.6 全局变量: g_
3.7 类成员变量: m_
3.8 事件
对事件处理程序名称使用 EventHandler 后缀。
3.9 大小写规则
大写
标识符中的所有字母都大写。仅对于由两个或者更少字母组成的标识符使用该约定。例如:
System.IO
System.Web.UI
下表汇总了大写规则,并提供了不同类型的标识符的示例。
标识符 |
大小写 |
示例 |
类 |
Pascal |
AppDomain |
枚举类型 |
Pascal |
emErrorLevel |
枚举值 |
Pascal |
elFatal, elIII |
事件 |
Pascal |
ValueChangeEventHandler |
异常类 |
Pascal |
WebException 注意 总是以 Exception 后缀结尾。 |
只读的静态字段 |
Pascal |
RedValue |
接口 |
Pascal |
IDisposable 注意 总是以 I 前缀开始。 |
方法 |
Pascal |
ToString |
命名空间 |
Pascal |
System.Drawing |
属性 |
Pascal |
BackColor |
公共实例字段 |
Pascal |
RedValue 注意 很少使用。属性优于使用公共实例字段。 |
受保护的实例字段 |
Camel |
redValue 注意 很少使用。属性优于使用受保护的实例字段。 |
私有的实例字段 |
Camel |
redValue |
参数 |
Camel |
typeName |
方法内的变量 |
Camel |
backColor |
4. 编码注意事项
4.1 表达式
1. 避免在表达式中用赋值语句
2. 避免对浮点类型做等于或不等于判断
4.2 类型转换
1. 尽量避免强制类型转换。
2. 如果不得不做类型转换,尽量用显式方式。
5. 附录一: 匈牙利命名法
匈牙利命名法是一名匈牙利程序员发明的,而且他在微软工作了多年。此命名法就是通过微软的各种产品和文档传出来的。多数有经验的程序员,不管他们用的是哪门儿语言,都或多或少在使用它。
这种命名法的基本原则是:
变量名=属性+类型+对象描述
即一个变量名是由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
下边是一些推荐使用的规则例子,你可以挑选使用,也可以根据个人喜好作些修改再用之。
⑴属性部分:
全局变量: g_
类成员变量: m_
⑵类型部分:
指针: p
句柄: h
布尔型: b
浮点型: f
无符号: u
⑶描述部分:
初始化: Init
临时变量: Tmp
目的对象: Dst
源对象: Src
窗口: Wnd
下边举例说明:
hwnd: h表示句柄,wnd表示窗口,合起来为“窗口句柄”。
m_bFlag: m表示成员变量,b表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志”。