C#代码规范整理

命名规范制定意义

1. 方便代码的交流和维护,便于日后自己的再次阅读。

2. 不影响编码的效率,不与大众习惯冲突。

3. 使代码更美观、阅读更方便。

4. 使代码的逻辑更清晰、更易于理解。

 


名词解释

Pascal:帕斯卡命名,每个单词第一个字母大写

Camel :驼峰命名,第一个单词字母小写,其余单词第一个大写

 


总结表:

标识符

大小写

样例

说明

命名空间

Pascal

namespace System.Security {

}

用有意义的名字命名 namespace,如:产品名、公司名

Pascal

public class StreamReader {

}

使用名词、名词短语命名

接口

Pascal

public interface IEnumerable {

}

以 I 开始,后面加上名词、名词短语、形容词命名。

字段 ( 私有、保护 )

Camel

private string userName;

第一个单词小写,后面连接的单词首字母大写

字段 ( 公共、静态 )

Pascal

public static readonly string UserId ;

 

属性

Pascal

private int length;

public int Length { get; }

字段private且小写,然后属性public大写

枚举

Pascal

enum FileMode {

Append,

}

 

事件

Pascal

public event EventHandler Exited ;

 

方法

Pascal

public string ToString ();

 

一般将其命名为动宾短语, “动词+对象 ”.

 

参数

Camel

public static int ToInt32(string userId );

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


基础数据类型命名

数据类型

标准命名举例

array

arrShoppingList

bool

isPostBack

string

strFirstName

int

intId

DateTime

dtmStartDate

object

objDog

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上面是常用的数据类型

 

 


注意事项:

序号

说明

示例

1

除约定俗成的,别用缩写。用 name, address, salary 等代替 nam, addr, sal

 

2

除用于循环,别使用单个字母的变量象 i, n, x 等. 而要使用 index, temp 等

for ( int index = 0; index < count; index++ ){ ...}

3

自定义的异常以 Exception结尾

public class AppException : Exception

4

代码的缩进 .要用 Tab,而不要用 space.

 

5

所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开

 

6

建议局部变量在最接近使用它时再声明 .

 

7

文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类

 

8

大括号 "{"要新起一行

 

9

单独方法要加注释

/// <summary>

/// 根据id获得姓名

/// </summary>

/// <param name="id">检索的id</param>

/// <returns></returns>

public string GetName(int id)

{

return "xiaomi";

}

10

不要对字段名或静态字段名应用前缀。 具体说来, 不要对字段名称应用前缀来区分静态和非静态字段。

例如,应用 g_ 或 s_ 前缀是不正确的。

11

避免容易被主观解释的难懂的名称

方法名 AnalyzeThis() ,或者属性名 xxK8。这样的名称会导致多义性。

12

在类属性的名称中包含类名是多余的

如 Book.BookTitle 。而是应该使用 Book.Title

13

只要合适,在变量名的末尾或开头加计算限定符

( Avg、Sum、Min、Max、Index )

14

在变量名中使用互补对

如 min/max 、begin/end 和 open/close

15

布尔变量名应该包含 Is ,这意味着 Yes/No 或 True/False 值

fileIsFound

16

在命名状态变量时,避免使用诸如 Flag 的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值

不是使

用 documentFlag ,而是使用更具描述性的名称,如 documentFormatType 。 (此项只供参考)

17

用于事件处理的委托添加 “EventHandler ”后缀

public delegate void MouseEventHandler(object sender, MouseEventArgs e);

18

用于事件处理之外的那些委托添加 “Callback ”后缀

 

19

不要给委托添加 “Delegate ”后缀

 

 

 

 

posted @ 2019-05-09 15:49  激情1995  阅读(593)  评论(0编辑  收藏  举报