DTS项目 C#编写规范Word下载.docx
《DTS项目 C#编写规范Word下载.docx》由会员分享,可在线阅读,更多相关《DTS项目 C#编写规范Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
3.6接口(Interface)命名规范10
3.7方法(Method)命名规范10
3.8命名空间(NameSpace)命名规范10
3.9窗口(Form)命名规范11
1
目的
为了保证项目组编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。
该规范适用于所有基于C#开发的DotNet平台项目。
2范围
适用于企业所有基于.NET平台的软件开发(编码)工作。
3规范内容
3.1代码格式
◆所有的缩进为4个空格,使用VS.NET的默认设置。
◆在代码中垂直对齐左括号和右括号。
if(x==0)
{
Response.Write("
用户编号必须输入!
"
);
}
不允许以下情况:
if(x==0){
或者:
if(x==0){Response.Write("
}
◆为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏
◆当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。
◆每一行上放置的语句避免超过一条。
◆在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。
例:
intj=i+k;
而不应写为
intj=i+k;
◆将大的复杂代码节分为较小的、易于理解的模块。
◆编写SQL语句时,对于关键字使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。
◆将每个主要的SQL子句放在不同的行上,这样更容易阅读和编辑语句,例如:
SELECTFirstName,LastName
FROMCustomers
WHEREState='
WA'
3.2注释(Comment)规范
注释规范包括:
模块(类)注释规范、类的属性、方法注释规范、代码间注释
3.2.1模块(类)注释规范
模块开始必须以以下形式书写模块注释:
///<
summary>
///模块编号:
<
模块编号,可以引用系统设计中的模块编号>
///作用:
对此类的描述,可以引用系统设计中的描述>
///作者:
作者中文名
///编写日期:
模块创建日期,格式:
YYYY-MM-DD>
///<
/summary>
如果模块有修改,则每次修改必须添加以下注释:
///Log编号:
Log编号,从1开始一次增加>
///修改描述:
对此修改的描述>
修改者中文名
///修改日期:
模块修改日期,格式:
3.2.2类属性注释规范
在类的属性必须以以下格式编写属性注释:
///<
///属性说明
3.2.3方法注释规范
在类的方法声明前必须以以下格式编写注释
///<
code>
///示例代码
/code>
///说明:
对该方法的说明>
paramname="
参数名称>
>
参数说明>
/param>
returns>
对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
/returns>
3.2.4代码间注释规范
代码间注释分为单行注释和多行注释:
3.2.4.1单行注释:
//<
单行注释>
3.2.4.2多行注释:
/*多行注释1
多行注释2
多行注释3*/
代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。
3.3变量(Variable)命名规范
3.3.1程序文件(*.cs)中的变量命名规则
程序中变量名称=变量的前缀+代表变量含意的英文单词或单词缩写。
1.
类模块级的变量请用“m_”作前缀
publicclasshello
{
privatestringm_Name;
privateDateTimem_Date;
2.类的属性所对应的变量,采用属性名前加“m_”前缀的形式
privatestringm_Name;
publicstringName
{
get
{
returnm_Name;
}
}
3.
过程级的变量不使用前缀
voidsay()
stringSayWord;
}
4.
过程的参数使用“p_”作为参数
publicclasshello
{
voidsay(stringp_SayWord)
补充说明:
针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e;
如果有冲突的情况下,可以重复e,比如:
ee。
Try
//yourcode
try
//code
catch(Exceptionee)
//yourcode
catch(Exceptione)
补充:
如果捕获异常不需要作任何处理,则不需要定义Exception实例
try
catch(Exception)
5.
鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。
每个单词的第一个字母都是大写.
6.
即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。
仅对于短循环索引使用单字母变量名,如i或j。
7.
在变量名中使用互补对,如min/max、begin/end和open/close。
8.
不要使用原义数字或原义字符串,如Fori=1To7。
而是使用命名常数,如Fori=1ToNUM_DAYS_IN_WEEK以便于维护和理解。
3.3.2控件命名规则
控件命名=Web控件缩写前缀+“_”+变量名
控件
缩写
Label
lbl
TextBox
txt
CheckBox
chk
Button
cmd
ListBox
lst
DropDownList
drp
……
3.4常量命名规范
常量名也应当有一定的意义,格式为NOUN或NOUN_VERB。
常量名均为大写,字之间用下划线分隔。
privateconstboolWEB_ENABLEPAGECACHE_DEFAULT=true;
privateconstintWEB_PAGECACHEEXPIRESINSECONDS_DEFAULT=3600;
privateconstboolWEB_ENABLESSL_DEFAULT=false;
注:
变量名和常量名最多可以包含255个字符,但是,超过25到30个字符的名称比较笨拙。
此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25或30个字符应当足够了。
3.5类(Class)命名规范
名字应该能够标识事物的特性。
2.
名字尽量不使用缩写,除非它是众所周知的。
名字可以有两个或三个单词组成,但通常不应多于三个。
在名字中,所有单词第一个字母大写。
例如IsSuperUser,包含ID的,ID全部大写,如CustomerID。
使用名词或名词短语命名类。
少用缩写。
不要使用下划线字符(_)。
publicclassFileStream
publicclassButton
publicclassString
3.6接口(Interface)命名规范
和类命名规范相同,唯一区别是接口在名字前加上“I”前缀
例:
interfaceIDBCommand;
interfaceIButton;
3.7方法(Method)命名规范
和类命名规范相同。
3.8命名空间(NameSpace)命名规范
3.9窗口(Form)命名规范
模块名称+子模块名称+From,其中子模块名称在模块不能细分的情况下可以省略。
主界面统一命名为:
MainFrom
●MainForm
●DatasourceForm
●DataSetSelectForm