目录
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表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志”。