C#编程规范研发中心.docx

上传人:b****6 文档编号:8077569 上传时间:2023-01-28 格式:DOCX 页数:14 大小:22.41KB
下载 相关 举报
C#编程规范研发中心.docx_第1页
第1页 / 共14页
C#编程规范研发中心.docx_第2页
第2页 / 共14页
C#编程规范研发中心.docx_第3页
第3页 / 共14页
C#编程规范研发中心.docx_第4页
第4页 / 共14页
C#编程规范研发中心.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C#编程规范研发中心.docx

《C#编程规范研发中心.docx》由会员分享,可在线阅读,更多相关《C#编程规范研发中心.docx(14页珍藏版)》请在冰豆网上搜索。

C#编程规范研发中心.docx

C#编程规范研发中心

C#编程规范

一、规范目的

1:

一个软件的生命周期中,80%的花费在于维护;合理的规范可以减少后期开发人员对代码的维护。

2:

编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。

为了执行规范,每个软件开发人员必须一致遵守编码规范;

3:

使用统一编码规范的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解这段代码;

4:

好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。

二、适用范围

研发中心全体.NET开发人员。

三、规范内容

3.1命名规范

变量,类等命名方式主要采用以下两种:

序号

名称

规范

实例

1

Pascal

所有单词第一个字母大写,其他字母小写

如:

HelloWorld。

此方式主要用于类,方法等命名

2

Camel 

除了第一个单词,所有单词第一个字母大写,其他字母小写

如:

helloWorld。

此方式主要用于变量命名。

3

匈牙利命名法

所有命名加前缀

如btnXX,txtXX。

可用在界面上一些按钮,文本或变量的定义。

3.1.1变量命名规范

1:

变量和方法参数使用Camel大小写形式

如:

publicclassHelloWorld

{

inttotalCount=0;

voidSayHello(stringname)

{

stringfullMessage="Hello"+name;

...

}

}

2:

不要使用匈牙利方法来命名变量。

即采用“_”或“X_”做为前缀,例如:

stringm_sName;Object_obj;等。

所有变量均采用camel大小写形式。

3:

不要用“_”或“&”等特殊字符作为第一个字母;

4:

用有意义的,描述性的词语来命名变量。

项目中可商量是否统一采用中文拼音的首字母来做为变量或参数的命名。

3.1.2属性命名规范

1:

用名词或名词短语命名属性。

2:

用Pascal大写命名属性。

3.1.3方法命名规范

1:

如果方法返回一个成员变量的值,方法名一般为Get+成员变量名,如若返回的值是bool变量,一般以Is作为前缀。

另外,如果必要,考虑用属性来替代方法;

2:

如果方法修改一个成员变量的值,方法名一般为:

Set+成员变量名。

同上,考虑用属性来替代方法。

3:

用动词或动词短语命名方法。

4:

使用Pascal大写方式命名方法。

如下所示:

voidRemoveAll()

stringGetCharArray()

boolIsContain()

3.1.4类命名规范

1:

用名词或名词短语命名类

2:

使用Pascal大写。

3:

不要使用任何类前缀以及不要使用带下划线的字符。

4:

泛型类型参数的命名:

命名要为T或者以T开头的描述性名字,例如:

publicclassList

publicclassMyClass

5:

对同一项目的不同命名空间中的类,命名避免重复,避免引用时的冲突和混淆。

6:

自定将异常类使用Exception作为后缀,如MyException。

3.1.5接口命名规范

1:

所有接口命名都以I做为开头,以表示这个类型是一个接口。

2:

使用名词或名词短语,或者描述行为的形容词来命名接口。

3:

使用Pascal大写。

同时I不算在内。

如:

IComponent(描述性名词),ICustomAttributeProvider(名词短语),和IPersistable(形容词)

4:

不要在任何地方使用带下划线或其经特殊的字符。

3.1.6事件命名规范

1:

定义为事件的委托,使用EventHandler做为后缀。

publicdelegatevoidMouseEventHandler(objectsender,MouseEventArgse);

2:

考虑使用动词命名事件。

3:

使用Pascal命名,不要使用任何前缀或后缀。

例如,使用Close,而不要使用OnClose。

4:

通常情况下,对于可以在派生类中重写的事件,应在类型上提供一个受保护的方法(称为OnXxx)。

如:

PublicvirtualvoidOnClose()

{

If(Close!

=null)

{

Close();

}

}

3.1.7常量命名规范

所有单词大写,多个单词之间用"_"隔开。

publicconststringPAGE_TITLE="Welcome";

3.1.8静态字段命名规范

1:

使用Pascal大小写

2:

对静态字段名称使用匈牙利语表示法加前缀。

一般可采用“_”做为前缀。

3:

使用名词、名词短语或者名词的缩写命名静态字段。

3.1.9项目和程序集命名

采用 公司简称+项目名+模块名(可选)命名方式。

3.2代码注释规范

3.2.1代码注释约定

所有的方法和函数都应该以描述这段代码功能的简明注释开始(方法是干什么)。

但这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间而变的,而且这种描述会导致不必要的注释维护工作,甚至更糟—成为错误的注释。

因此只需要简单描述此段代码的基本功能即可

另外当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过程的参数。

被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也必须在每个过程的起始处描述它们。

3.2.2模块头部注释规范

以一个物理文件为单元的都需要有模块头部注释规范,例如:

C#中的.cs文件

用于每个模块开头的说明,主要包括:

序号

名称

选择

描述

1

文件名称

必选

此文件的名称

2

功能描述

必选

此模块的功能描述与大概流程说明

3

作者

必选

当前文档编写者

4

日期

必选

当前文档创建日期

5

参考文档

可选

该档所对应的分析文档,设计文档。

6

引用

可选

开发的系统中引用其它系统的Dll、对象时,要列出其对应的出处,是否与系统有关﹙不清楚的可以不写﹚,以方便后期维护。

7

修改记录

后期开发必选

若在后期或二次开中档案的功能改变,则需要有修改人员的名字、修改日期及修改理由。

8

数据表

可选

所用到的数据表,视图,存储过程的说明,如关系比较复杂,则应说明哪些是可擦写的,哪些表为只读的。

如下例所示

实例:

/*************************************************************

*文件名:

ICycleEngine.CS

*基本功能:

在后台线程中进行间隔循环的引擎接口

*作者:

HCB

*日期:

2013年8月5日

*修改记录

*修改日期

*修改人:

*修改理由:

**************************************************************/

namespaceESBasic.Threading.Engines

///

///ICycleEngine在后台线程中进行间隔循环的引擎接口

///HCB2013年8月5日

///

publicinterfaceIcycleEngine

3.2.3类属性注释规范

在类的属性必须以以下格式编写属性注释:

///

///属性说明

///

3.2.4方法注释规范

1:

使用C#提供的机制。

即包含XML文本的特殊注释语法为方法进行注释。

在进行注释时,对所有参数以及返回值都要进行简要说明。

只要在方法头敲“///”三个斜杠系统自动生成基本如下所示的XML标签格式的注释:

///

///说明:

<对该方法的说明>

///

///"><参数说明>

///

///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>

///

2:

对于公共类的方法,在后期开发或维护当中需要进行修改时,必须对修改人,修改日期,修改理由进行说明。

3:

所有的方法必须在其定义前增加方法注释。

4:

方法注释的XML文档中所有标签节点说明如下:

标签

用法

作用

c>text

text希望将其指示为代码的文本。

为您提供了一种将说明中的文本标记为代码的方法。

使用将多行指示为代码

content

content段落文本。

用于诸如等标记内,使您得以将结构添加到文本中。

description

name为方法参数名。

将此名称用单引号括起来('')。

应当用于方法声明的注释中,以描述方法的一个参数。

name

要引用的参数名。

将此名称用双引号括起来("")。

标记为您提供了一种指示词为参数的方法。

可以处理XML文件,从而用某种独特的方法格式化该参数。

cref="member"对可以通过当前编译环境进行调用的成员或字段的引用。

编译器检查到给定代码元素存在后,将member传递给输出XML中的元素名。

必须将member括在双引号("")中。

使您得以从文本内指定链接。

使用指示希望在“请参阅”一节中出现的文本。

cref="member"对可以通过当前编译环境进行调用的成员或字段的引用。

编译器检查到给定代码元素存在后,将member传递给输出XML中的元素名。

必须将member括在双引号("")中

使您得以指定希望在“请参阅”一节中出现的文本。

使用从文本

description

description

代码示例的说明。

使用标记可以指定使用方法或其他库成员的示例。

一般情况下,这将涉及到标记的使用。

content

content为希望将其标记为代码的文本。

记为您提供了一种将多行指示为代码的方法。

使用指示应将说明中的文本标记为代码

description

应当用于描述类型成员。

使用以提供有关类型本身的信息。

此处description为对象的摘要。

description

cref="member"对可从当前编译环境中获取的异常的引用。

编译器检查到给定异常存在后,将member转换为输出XML中的规范化元素名。

必须将member括在双引号("")中。

description说明。

标记使您可以指定类能够引发的异常。

filename包含文档的文件名。

该文件名可用路径加以限定。

将filename括在单引号中('')。

Tagpath:

filename中指向标记名的标记路径。

将此路径括在单引号中('')。

name注释前边的标记中的名称说明符;名称具有一个id。

id

位于注释之前的标记的id。

将此id括在双引号中("")。

标记使您得以引用描述源代码中类型和成员的另一文件中的注释。

这是除了将文档注释直接置于源代码文件中之外的另一种可选方法。

标记使用XMLXPath语法。

有关自定义使用的方法,请参阅XPath文档。

term

description

term

description

term定义的项,该项将在text中定义。

description目符号列表或编号列表中的项或者term的定义。

块用于定义表或定义列表中的标题行。

定义表时,只需为标题中的项提供一个项。

列表中的每一项用块指定。

创建定义列表时,既需要指定term也需要指定text。

但是,对于表、项目符号列表或编号列表,只需为text提供一个项。

列表或表所拥有的块数可以根据需要而定。

标记使您得以将成员的访问记入文档。

System.Security.PermissionSet使您得以指定对成员的访问。

>

cref="member">description

cref="member"对可以通过当前编译环境进行调用的成员或字段的引用。

编译器检查到给定代码元素存在后,将member转换为输出XML中的规范化元素名。

必须将member括在双引号("")中。

description成员的访问的说明。

description

description成员的说明。

标记是可以指定有关类或其他类型的概述信息的位置。

是可以描述该类型的成员的位置。

description

description返回值的说明。

标记应当用于方法声明的注释,以描述返回值。

property-description

property-description属性的说明。

标记使您得以描述属性。

请注意,当在VisualStudio.NET开发环境中通过代码向导添加属性时,它将会为新属性添加

标记。

然后,应该手动添加标记以描述该属性所表示的值。

3.2.5代码行注释规范

代码间注释分为单行注释和多行注释:

单行注释样式:

//<单行注释>

多行注释如下所示:

/*************************************************************

*

*功能说明

*

**************************************************************/

3.3其它规范

3.3.1基本变量定义前缘缩写规则

序号

名称

缩写

实例

1

bool

bln

blnAction

2

byte

byt

bytData

3

sbyte

sbyt

sbytData

4

char

chr

chrFirst

5

decimal

dec

decNum

6

double

dbl

dblNum

7

float

flt

fltCount

8

long

lng

lngLength

9

ulong

ulng

ulngLength

10

short

sht

shtHeight

11

ushort

usht

ushtHeight

12

string

str

strName

13

DateTime

dtm

dtmFixedTime

14

object

obj

objLock

15

Array

ary

aryDatas

16

List

lst

lstDatas

3.3.2WinFrom主要控件命名前缘缩写

序号

名称

缩写

控件说明

1

Label

lbl

标签

2

Button

byt

按钮

3

TextBox

txt

输入框

4

LinkButton

lnkbtn

超链接按钮

5

LinkLabel

lnklbl

超链接标签

6

Image

img

图片基类

7

CheckBox

chk

多选框

8

RadioButton

rbtn

单选框

9

GroupBox

gbx

组合框

10

PictureBox

pic

图片框

11

Panel

pnl

容器

12

ComboBox

cbo

组合框

13

ListView

lstv

列表视图

14

TreeView

trv

树视图

15

Timer

tmr

定时器控件

16

ImageList

imglst

17

ToolTip

tlp

提示控件

18

ContextMenu

mnu

右键菜单

19

ToolBar

tlb

工具栏

20

StatusBar

stb

状态栏

21

RichTextBox

rtxt

文本框

22

TabControl

tab

切页控件

3.3.3WebFrom主要控件命名前缘缩写

序号

名称

缩写

控件说明

1

Label

lbl

标签

2

Button

byt

按钮

3

TextBox

txt

输入框

4

LinkButton

lnkbtn

超链接按钮

5

ImageButton

imgbtn

6

HyperLink

7

DropDownList

ddl

8

ListBox

lst

9

DataGrid

dgrp

10

DataList

dlst

11

Repeater

rpt

12

CheckBox

chk

13

CheckBoxList

chkl

14

RadioButtonList

rdol

15

RadioButton

rdo

16

Image

img

17

Panel

pnl

18

PlaceHolder

plh

19

Calendar

cal

日历控件

20

Table

tbl

21

RequireFieldValidator

valr

3.3.3ADO.NET主要对象命名前缘缩写

序号

名称

缩写

控件说明

1

Connection

con

数据库连接对象

2

Command

cmd

Sql语句执行对象

3

DataAdapter

adp

4

DataReader

dtr

5

DataSet

ds

6

DataTable

dtbl

7

DataRow

dr

8

DataColumn

dc

9

DataView

dv

.

展开阅读全文
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1