东软集团有限公司 C#编程规范 2.0
C#编程规范
Version 2.0
东软集团有限公司 C#编程规范 2.0
目录
第一章 概述 .......................................................................................................................................... 4
规范制定原则 ...................................................................................................................................... 4
术语定义 .............................................................................................................................................. 4
Pascal 大小写 ................................................................................................................................. 4
Camel 大小写 ................................................................................................................................. 4
文件命名组织 ...................................................................................................................................... 4
1.3.1 文件命名 ................................................................................................................................. 4
1.3.2 文件注释 ................................................................................................................................. 4
第二章 代码外观 ................................................................................................................................ 6
2.1 列宽 ......................................................................................................................................... 6
2.2 换行 ......................................................................................................................................... 6
2.3 缩进 ......................................................................................................................................... 6
2.4 空行 ......................................................................................................................................... 6
2.5 空格 ......................................................................................................................................... 6
2.6 括号 - () ................................................................................................................................... 7
2.7 花括号 - {} .............................................................................................................................. 7
第三章 程序注释 .................................................................................................................................... 9
3.4 注释概述 ................................................................................................................................. 9
3.2 文档型注释 ............................................................................................................................. 9
3.3 类 C 注释 ............................................................................................................................... 10
3.4 单行注释 ............................................................................................................................... 10
3.5 注释标签 ............................................................................................................................... 10
第四章 申明 ........................................................................................................................................ 14
4.1 每行声明数 ........................................................................................................................... 14
4.2 初始化 ................................................................................................................................... 14
4.3 位置 ....................................................................................................................................... 14
4.4 类和接口的声明 ................................................................................................................... 15
4.5 字段的声明 ........................................................................................................................... 15
第五章 命名规范 ................................................................................................................................ 16
5.1 命名概述 ............................................................................................................................... 16
5.2 大小写规则 ........................................................................................................................... 16
5.3 缩写 ....................................................................................................................................... 17
5.4 命名空间 ............................................................................................................................... 17
5.5 类 ........................................................................................................................................... 18
5.6 接口 ....................................................................................................................................... 18
5.7 属性 (ATTRIBUTE) ................................................................................................................... 19
5.8 枚举 (ENUM) ........................................................................................................................... 19
5.9 参数 ....................................................................................................................................... 19
东软集团有限公司 C#编程规范 2.0
5.10 方法 ................................................................................................................................... 20
5.11 属性 (PROPERTY) ................................................................................................................. 20
5.12 事件 ................................................................................................................................... 21
5.13 常量 (CONST)...................................................................................................................... 22
5.14 字段 ................................................................................................................................... 22
5.15 静态字段 ........................................................................................................................... 23
5.16 集合 ................................................................................................................................... 24
5.17 措词 ................................................................................................................................... 24
第六章 语句 ........................................................................................................................................ 25
6.1 每行一个语句 ....................................................................................................................... 25
6.2 复合语句 ............................................................................................................................... 25
RETURN 语句 ............................................................................................................................ 25
6.3
6.4
IF、 IF-ELSE、IF ELSE-IF 语句 ............................................................................................. 25
6.4 FOR、FOREACH 语句.................................................................................................................... 26
6.5 WHILE 语句 ........................................................................................................................... 26
DO - WHILE 语句 .................................................................................................................... 27
SWITCH - CASE 语句 .............................................................................................................. 27
TRY - CATCH 语句 .................................................................................................................... 27
USING 块语句...................................................................................................................... 28
GOTO 语句 ........................................................................................................................... 28
6.8.
6.9.
6.10.
6.11.
6.7.
第七章 控件命名规则 ....................................................................................................................... 29
7.1 命名方法 ............................................................................................................................... 29
7.2 主要控件名简写对照表 ....................................................................................................... 29
第八章 其他 ....................................................................................................................................... 29
8.1 表达式 ................................................................................................................................... 29
8.2 类型转换 ............................................................................................................................... 29
附录一: 匈牙利命名法 ......................................................................................................................... 30
东软集团有限公司 C#编程规范 2.0
第一章 概述
规范制定原则
1 方便代码的交流和维护。
2 不影响编码的效率,不与大众习惯冲突。
3 使代码更美观、阅读更方便。
4 使代码的逻辑更清晰、更易于理解。
术语定义
Pascal 大小写
将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用
Pascal 大小写。例如:
BackColor
Camel 大小写
标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:
backColor
文件命名组织
1.3.1 文件命名
1 文件名遵从 Pascal 命名法,无特殊情况,扩展名小写。
2 使用统一而又通用的文件扩展名: C# 类 .cs
1.3.2 文件注释
1 在每个文件头必须包含以下注释说明
/*----------------------------------------------------------------
// Copyright (C) 2004 东软集团有限公司
// 版权所有。
//
// 文件名:
// 文件功能描述:
//
//
// 创建标识:
//
// 修改标识:
// 修改描述:
//
// 修改标识:
// 修改描述:
东软集团有限公司 C#编程规范 2.0
//----------------------------------------------------------------*/
文件功能描述只需简述,具体详情在类的注释中描述。
创建标识和修改标识由创建或修改人员的拼音或英文名加日期组成。如:
李轶 20040408
一天内有多个修改的只需做一个在注释说明中做一个修改标识就够了。
在所有的代码修改处加上修改标识的注释。
东软集团有限公司 C#编程规范 2.0
2.1 列宽
第二章 代码外观
代码列宽控制在 110 字符左右。
2.2 换行
当表达式超出或即将超出规定的列宽,遵循以下规则进行换行
1、在逗号后换行。
2、 在操作符前换行。
3、规则 1 优先于规则 2。
当以上规则会导致代码混乱的时候自己采取更灵活的换行规则。
2.3 缩进
缩进应该是每行一个 Tab(4 个空格),不要在代码中使用 Tab 字符。
Visual Studio.Net 设置:工具->选项->文本编辑器->C#->制表符->插入空格
2.4 空行
空行是为了将逻辑上相关联的代码分块,以便提高代码的可阅读性。
在以下情况下使用两个空行
1、接口和类的定义之间。
2、枚举和类的定义之间。
3、类与类的定义之间。
在以下情况下使用一个空行
1、方法与方法、属性与属性之间。
2、方法中变量声明与语句之间。
3、方法与方法之间。
4、方法中不同的逻辑块之间。
5、方法中的返回语句与其他的语句之间。
6、属性与方法、属性与字段、方法与字段之间。
7、注释与它注释的语句间不空行,但与其他的语句间空一行。
2.5 空格
在以下情况中要使用到空格
1、 关键字和左括符 “(” 应该用空格隔开。如
while (true)
东软集团有限公司 C#编程规范 2.0
注意在方法名和左括符 “(” 之间不要使用空格,这样有助于辨认代码中的方法调用与关
键字。
2、 多个参数用逗号隔开,每个逗号后都应加一个空格。
3、 除了 . 之外,所有的二元操作符都应用空格与它们的操作数隔开。一元操作符、++及--
与操作 数间不需要空格。如
a += c + d;
a = (a + b) / (c * d);
while (d++ = s++)
{
n++;
}
PrintSize(“size is “ + size + “\n”);
4、 语句中的表达式之间用空格隔开。如
for (expr1; expr2; expr3)
2.6 括号 - ()
1、 左括号“(” 不要紧靠关键字,中间用一个空格隔开。
2、 左括号“(” 与方法名之间不要添加任何空格。
3、 没有必要的话不要在返回语句中使用()。如
if (condition)
Array.Remove(1)
return 1
2.7 花括号 - {}
1、 左花括号 “{” 放于关键字或方法名的下一行并与之对齐。如
if (condition)
{
}
public int Add(int x, int y)
{
}
2、 左花括号 “{” 要与相应的右花括号 “}”对齐。
3、 通常情况下左花括号 “{”单独成行,不与任何语句并列一行。
东软集团有限公司 C#编程规范 2.0
4、 if、while、do 语句后一定要使用{},即使{}号中为空或只有一条语句。如
if (somevalue == 1)
{
somevalue = 2;
}
5、 右花括号 “}” 后建议加一个注释以便于方便的找到与之相应的 {。如
while (1)
{
if (valid)
{
} // if valid
else
{
} // not valid
} // end forever