基本信息
文件名称:C#代码规范检查表范本.docx
文件大小:47.69 KB
总页数:8 页
更新时间:2025-07-02
总字数:约3.87千字
文档摘要

XXXX企业有限公司-软件系统研发系列

PAGE2

C#代码规范检查表

项目名称

项目编号

检查人

检查日期

被检查人

检查内容

检查依据

检查类别

检查规模

检查耗时

规范编号

检查类别

检查项

级别

缺陷数量

缺陷描述

1

所有命名空间、类、接口、方法、属性、变量、参数均使用英文单词或易理解的缩写进行命名。

强制

2

对命名空间、类、接口、方法以及变量进行命名时,尽量使用贴近问题域的表意丰富的名称。

强制

3

修改源代码时,应尽量保持与所修改系统的编码风格保持一致。

强制

4

所有命名空间名称必须使用ESSE前缀。

强制

5

应该使用VS2005默认格式规范。

强制

6

一个C#源文件.cs应该只包含一个类,内嵌类和匿名类除外。把所有枚举变量集中定义到同一个源文件中。

强制

7

命名空间的引用应该按照相关性进行分组。

强制

8

类和接口中元素的布局顺序。

强制

9

变量声明,采用camel表示法,不要在一行声明多个变量。

强制

10

方法修饰关键字定义顺序。

强制

11

保证明确的类型转换,不要默认进行隐式类型转换。

强制

12

数组指示符紧跟类型变量。

强制

13

一个变量要代表独立的意思,不要在其生命周期赋予它不同的概念。

强制

14

仅仅循环控制变量才能出现在for()循环中。

强制

15

循环变量应靠近循环体初始化。

强制

16

避免长的布尔表达式,应该换成多个更容易理解的表达式。

强制

17

代码缩进,应该使用4个空格为一个单位进行缩进。

强制

18

条件语句的主要形式,即使单条语句,也要使用括号括起来。

强制

19

空循环体也要使用完整的{}块。

强制

20

switch语句的使用格式。

强制

21

try-catch使用格式。

强制

22

空格的使用。

强制

23

空格的使用。

强制

24

逻辑上紧密相关的代码块应该用一个空行分开。

强制

25

为了保证可读性,变量名应该左对齐。

推荐

26

提高代码可读性的排版。

推荐

27

三元条件运算符。

强制

28

将所有成员变量命名为private或protected,使用Property进行外部访问。如果成员函数仅为自己和派生类使用,使用protected,如果仅仅为类本身访问,使用private。

强制

29

命名空间应该使用Pascal命名方式,不要出现下划线等符号,名词用有意义的缩写或者英文单词。

强制

30

所有类命名使用Pascal表示方式,使用名词组合。

强制

31

接口命名使用字母“I”加上Pascal形式的表示方式。

强制

32

使用名词组合或形容词去命名一个接口,接口声明了一个对象能提供的服务,也描述了一个对象的能力。一般以“able”和“ible”作为后缀,代表了一种能力。

强制

33

变量名和参数名使用Camel表示方式。

强制

34

对于常量名,使用大写字母,并使用下划线做间隔。

强制

35

方法名应该使用动词开头,使用Pascal表示方式,一般由动词+名词组成。

强制

36

缩写字母也应该保持首字母大写。

强制

37

变量的名字应该尽可能的和类型名称一致。

推荐

38

根据变量的作用范围,作用范围大的应使用长名称,作用范围大,表明变量的生命周期比较长,为了有助于理解,应尽量用长名称以表达变量的真实意图。反之,对于作用范围小,可以使用一些简化的名称,比如i、j、k等,提高编程效率。

强制

39

枚举类型名称使用Pascal方式命名。

强制

40

控件命名规范。

强制

41

使用is前缀表示一个布尔变量和方法。

强制

42

在查询方法中应使用Find作为前缀。

推荐

43

使用Initialize做为对象初始化的方法前缀,也可以简写为Init。

强制

44

对于对象集合,变量名称应使用复数。

强制

45

对于抽象类,应该使用Abstract前缀。对于非抽象基类,可使用Base前缀。

强制

46

对于表示编号的变量,应加No后缀。

强制

47

常在一起使用的对称词汇,这些词汇一起使用,方法的表达意图自然可以互相推测和演绎。

强制

48

避免使用否定布尔变量。

强制

49

异常类应该使用Exception做为后缀。

强制

50

缺省接口实现应该使用Default前缀。

强制

51

对于单例类(Singleton),应该使用GetIns