代码编写规范说明书样本Word文档下载推荐.docx

上传人:b****6 文档编号:8604996 上传时间:2023-05-12 格式:DOCX 页数:19 大小:24.28KB
下载 相关 举报
代码编写规范说明书样本Word文档下载推荐.docx_第1页
第1页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第2页
第2页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第3页
第3页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第4页
第4页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第5页
第5页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第6页
第6页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第7页
第7页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第8页
第8页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第9页
第9页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第10页
第10页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第11页
第11页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第12页
第12页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第13页
第13页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第14页
第14页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第15页
第15页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第16页
第16页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第17页
第17页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第18页
第18页 / 共19页
代码编写规范说明书样本Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

代码编写规范说明书样本Word文档下载推荐.docx

《代码编写规范说明书样本Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《代码编写规范说明书样本Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

代码编写规范说明书样本Word文档下载推荐.docx

8.1代码包版本号

8.2代码包标记

9代码控制

9.1代码库/目录建立

9.2代码归档

10输入控制校验规则

10.1登陆控制

10.2数据录入控制

附件1:

数据类型缩写表

附件2:

服务器控件名缩写表

一.为了统一公司软件开发设计过程编程规范

二.使网站开发人员能很以便理解每个目录,变量,控件,类,办法意义

三.为了保证编写出程序都符合相似规范,保证一致性、统一性而建立程序编码规范。

四.编码规范和商定必要能明显改进代码可读性,并有助于代码管理、分类范畴合用于公司所有基于.NET平台软件开发工作

本规范合用于开发组全体人员,作用于软件项目开发代码编写阶段和后期维护阶段。

a)注释规定英文及英文标点符号。

b)注释中,应标明对象完整名称及其用途,但应避免对代码过于详细描述。

c)每行注释最大长度为100个字符。

d)将注释与注释分隔符用一种空格分开。

e)不容许给注释加外框。

f)编码同步书写注释。

g)重要变量必要有注释。

h)变量注释和变量在同一行,所有注释必要对齐,与变量分开至少四个“空格”键。

如:

intm_iLevel,m_iCount;

//m_iLevel....treelevel

//m_iCount....countoftreeitems

stringm_strSql;

//SQL

i)典型算法必要有注释。

j)在循环和逻辑分支地方上行必要就近书写注释。

k)程序段或语句注释在程序段或语句上一行

l)在代码交付之前,必要删掉暂时或无关注释。

m)为便于阅读代码,每行代码长度应少于100个字符。

对于自己创立代码文献(如函数、脚本),在文献开头,普通编写如下注释:

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

FileName:

Copyright(c)-xxxx*********公司技术开发部

Writer:

createDate:

Rewriter:

RewriteDate:

Impact:

MainContent(FunctionName、parameters、returns)

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

模块开始必要以如下形式书写模块注释:

///<

summary>

///ModuleID:

<

模块编号,可以引用系统设计中模块编号>

///Depiction:

对此类描述,可以引用系统设计中描述>

///Author:

作者中文名

///CreateDate:

模块创立日期,格式:

YYYY-MM-DD>

/summary>

如果模块只进行某些少量代码修改时,则每次修改须添加如下注释:

///RewriterRewriteDate:

修改日期:

格式YYYY-MM-DD>

Start1:

/*原代码内容*/

///End1:

将原代码内容注释掉,然后添加新代码使用如下注释:

///AddedbyAdddate:

添加日期,格式:

Start2:

///End2:

如果模块输入输出参数或功能构造有较大修改,则每次修改必要添加如下注释:

///LogID:

Log编号,从1开始一次增长>

///depiction:

对此修改描述>

///Writer:

修改者中文名

///RewriteDate:

模块修改日期,格式:

在类属性必要以如下格式编写属性注释:

///<

Propertiesdepiction>

在类办法声明前必要以如下格式编写注释

///depiction:

对该办法阐明>

paramname="

参数名称>

"

>

参数阐明>

/param>

returns>

对办法返回值阐明,该阐明必要明确阐明返回值代表什么含义>

/returns>

办法创立日期,格式:

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

//<

单行注释>

/*多行注释1

多行注释2

多行注释3*/

代码中遇到语句块时必要添加注释(if,for,foreach,……),添加注释必要可以阐明此语句块作用和实现手段(所用算法等等)。

Ø

名字应当可以标记事物特性。

名字一律使用英文单词,而不能为拼音。

名字尽量不使用缩写,除非它是众所周知。

名字可以有两个或三个单词构成,但不应多于三个,控制在3至30个字母以内。

在名字中,各种单词用大写第一种字母(其他字母小写)来分隔。

例如:

IsSuperUser。

名字尽量使用前缀而不是后缀。

名字中单词尽量使用名词,如有动词,也尽量放在背面。

FunctionUserDelete(而不是FunctionDeleteUser)。

a)程序文献(*.cs)中变量命名

程序中变量名称=变量前缀+代表变量含意英文单词或单词缩写。

类模块级变量请用“m_”+数据类型缩写作为前缀(其中,m为“memory”缩写,数据类型缩写见附件中《数据类型缩写表》)。

publicclasshello

{

privatestringm_strName;

privateDateTimem_dtDate;

}

类属性所相应变量,采用属性名前加“m_”+类型缩写前缀形式

publicstringName

get

returnm_strName;

过程级变量使用类型缩写前缀

voidsay()

stringstrSayWord;

过程参数使用“p_”+类型缩写作为前缀(其中,p为“parameter”缩写)

voidsay(stringp_strSayWord)

补充阐明:

针对异常捕获过程中Exception变量命名,在没有冲突状况下,统一命名为exp;

如果有冲突状况下,可以用“exp”+标志名称,如:

expSql。

Try

//yourcode

try

//code

catch(Exceptionexp)

catch(ExceptionexpSql)

补充:

如果捕获异常不需要作任何解决,则不需要定义Exception实例。

例:

catch(Exceptionexp)

鉴于大多数名称都是通过连接若干单词构造,请使用大小写混合格式以简化它们阅读。

每个单词第一种字母都是大写.

虽然对于也许仅出当前几种代码行中生存期很短变量,依然使用故意义名称。

仅对于短循环索引使用单字母变量名,如i或j。

在变量名中使用互补对,如min/max、begin/end和open/close。

不要使用原义数字或原义字符串,如For(i=1;

i<

=7;

i++)。

而是使用命名常数,如For(i=1;

=NUM_DAYS_IN_WEEK;

i++)以便于维护和理解。

b)控件命名

控件命名=控件名称前二到三个字母+名称,如Labl控件(labUserName)

常量名也应当有一定意义,格式为NOUN或NOUN_VERB。

常量名均为大写,字之间用下划线分隔。

privateconstboolWEB_ENABLEPAGECACHE_DEFAULT=true;

privateconstintWEB_PAGECACHEEXPIRESINSECONDS_DEFAULT=3600;

privateconstboolWEB_ENABLESSL_DEFAULT=false;

注:

变量名和常量名最多可以包括255个字符,但是,超过25到30个字符名称比较笨拙。

此外,要想取一种有实际意义名称,清晰地表达变量或常量用途,25或30个字符应当足够了。

a)名字应当可以标记事物特性。

b)名字尽量不使用缩写,除非它是众所周知。

c)名字可以有两个或三个单词构成,但普通不应多于三个。

d)在名字中,所有单词第一种字母大写。

例如IsSuperUser,包括ID,ID所有大写,如CustomerID。

e)使用名词或名词短语命名类。

f)少用缩写。

g)不要使用下划线字符(_)。

publicclassFileStream

publicclassButton

publicclassString

和类命名规范相似,唯一区别是接口在名字前加上“I”前缀

interfaceIDBCommand;

interfaceIButton;

和类命名规范相似。

5.6命名空间(NameSpace)命名

a)编程中要考虑函数各种执行状况,尽量解决所有流程状况。

b)检查所有系统调用错误信息,除非要忽视错误。

c)将函数分两类:

一类为与屏幕显示无关,另一类与屏幕显示关于。

对于与屏幕显示无关函数,函数通过返回值来报告错误。

对于与屏幕显示关于函数,函数要负责向顾客发出警告,并进行错误解决。

d)错误解决代码普通放在函数末尾。

e)对于通用错误解决,可建立通用错误解决函数,解决常用通用错误。

将大括号放置在核心词下方同列处,例如:

if($condition)while($condition)

{{

......

}}

使用一种“Tab”为每层次缩进。

functionfunc()

if(somethingbad)

if(anotherthingbad)

while(moreinput)

a)不要把小括号和核心词(if、while等)紧贴在一起,要用空格隔开它们。

b)不要把小括号和函数名紧贴在一起。

c)除非必要,不要在Return返回语句中使用小括号。

由于核心字不是函数,如果小括号紧贴着函数名和核心字,两者很容易被当作是一体。

如果你有用到elseif语句话,普通最佳有一种else块以用于解决未解决到其她状况。

可以话放一种记录信息注释在else处,虽然在else没有任何动作。

其格式为:

if(条件1)//注释

elseif(条件2)//注释

else//注释

if和循环嵌套最多容许4层

总是将恒量放在等号/不等号左边。

一种因素是如果你在等式中漏了一种等号,语法检查器会为你报错。

第二个因素是你能立即找到数值而不是在你表达式末端找到它。

if(6==$errorNum)...

defaultcase总应当存在,如果不容许到达,则应当保证:

若到达了就会触发一种错误。

Case选取条件最佳使用int或string类型。

变量声明和初始化都应对齐。

intm_iCount;

inti,j;

floatm_fIncome,m_fPay;

m_iCount=0;

i=1;

m_fIncome=0.3;

除非这些语句有很密切联系,否则每行只写一种语句。

原则上,一种程序单元(函数、例程、办法)只完毕一项功能。

原则上,一种程序单元代码应当限制在一页内(25~30行)。

不要采用缺省值测试非零值。

使用“if(0!

=f())”而不用“if(f())”。

大某些函数在错误时返回FALSE、0或NO之类值,但在对的时返回值就不定了(不能用一种固定TRUE、1或YES来代表),因而检测一种布尔值时应当用FALSE、0、NO之类不等式来代替。

使用“if(FALSE!

=f())”而不用“if(TRUE==f())”。

嵌入式赋值不利于理解程序,同步也许回导致意想不到副作用,应尽量编写独立赋值语句。

使用“a=b+c;

e=a+d;

”而不用“e=(a=b+c)+d”。

对于代码中引用常量(特别是数字),应当define成一种大写名字,在代码中引用名字而不直接引用值。

某一功能,如果重复实现一遍以上,即应考虑模块化,将它写成通用函数。

并向小构成员发布。

同步要尽量运用其他人现成模块。

共享别人工作成果,向别人提供自己工作成果。

在详细任务开发中,如果有其他编码规则,则在相应软件开发筹划中予以明拟定义。

a)不容许随意定义全局变量。

b)一种变量只能有一种用途;

变量用途必要和变量名称保持一致。

c)所有变量都必要在类和函数最前面定义,并分类排列。

a)查找数据库表或视图时,只能取出的确需要那些字段。

b)使用无关联子查询,而不要使用关联子查询。

c)清晰明白地使用列名,而不能使用列序号。

d)用事务保证数据完整性。

a)尽量晚地创立对象,并且尽量早地释放它。

a)不容许随意定义公用函数和类。

b)函数功能单一,不容许一种函数实现两个及两个以上功能。

c)不能在函数内部使用全局变量,如要使用全局变量,应转化为局部变量。

d)函数与函数之间只容许存在包括关系,而不容许存在交叉关系。

即两者之间只存在单方向调用与被调用,不存在双向调用与被调用。

a)禁止浮现两条等价支路。

if(a==2)

elseif(a==3)

//

elseif(a==2)

else

b)避免使用GOTO语句

c)用IF语句来强调只执行两组语句中一组。

禁止ELSEGOTO和ELSERETURN。

d)用CASE实现多路分支

e)避免从循环引出各种出口。

f)函数只有一种出口。

g)不使用条件赋值语句。

h)避免不必要分支。

i)不要容易用条件分支去替代逻辑表达式

1)函数返回值

避免使用构造体等复杂类型

使用bool类型:

该函数只需要获得成功或者失败返回信息时候

使用int类型:

错误代码用负数表达,成功返回0

本项目中,每个任务在完毕一种稳定版本后,都应打包并且归档。

项目中,代码包版本号由圆点隔开两个数字构成,第一种数字表达发行号,第二个数字表达该版修改号。

详细用法如下:

1)当代码包初版时,版本号为V1.00;

2)当代码包被局部修改或bug修正时,发行号不变,修改号第二个数字增1。

例如,对初版代码包作了第一次修订,则版本号为V1.01;

3)当代码包在原有基本上增长某些功能,发行号不变,修改号第一种数字增1,例如,对V1.12版基本上增长某些功能,则新版本号为V1.20;

4)当代码包有重要修改或局部修订累积较多导致代码包发生全局变化时,发行号增1。

例如,在V1.15版基本上作了一次全面修改,则新版本号为V2.00。

本项目所产生代码包均有唯一、特定编码,其构成如下:

S-项目的记-代码包类型-版本号/序号

其中:

1)S:

本项目的记,表白本项目是“XXXX”。

2)项目的记:

简要标记本项目,此标记合用于整个项目文档。

3)代码包类型:

取自如下表两位字母编码。

4)版本号:

本代码包版本号。

5)序号:

四位数字编码,指明该代码包在项目代码库总序号。

一种Windows下RAR源码压缩代码包命名为:

S-XXXX-WS-V1.02/0001

项目代码包分类表

类型编码注释

RAR包

(web)源码文献WS源代码文献包

编译文献WB编译文献包

安装文献WI安装文献包

源码代码+安装文献WA源代码和安装文献包

项目中所有代码包标记清单将在《项目开发筹划》中予以详细定义。

项目负责人在VSS中建立项目文档库目录,即为“Software”目录,以便迅速查询。

所有代码在完毕一种稳定版本后,项目负责人都应打包后,存储于VSS中该目“Software”目录下,并且根据代码包命名规范为代码包分派一种唯一名称。

顾客登陆ID和登陆密码,要限定输入长度范畴,必要检查输入合法性。

a)TextBox输入

1、要保持顾客输入和数据库接受长度一致

2、必要进行输入合法性校验

E_mail格式...

电话格式(020)12345678

邮政编码是六位

b)除CheckBox、RadioButton外,禁止在DataGrid内嵌入其她编辑控件,用以添加编辑数据

11.数据库命名规范:

SqlServer命名规范

使用本系统遵循如下命名规范:

1、表命名:

用一种或三个如下英文单词构成,单词首字母大写,如:

DepartmentUsers;

2、表主键名称为:

表名+ID,如Document表主键名为:

DocumentID

3、存储过程命名:

表名+办法,如:

p_my_NewsAdd,p_my_NewsUpdate;

4、视图命名:

View_表名,如:

ViewNews;

5、Status为表中状态列名,默认值为0,在表中删除操作将会变化Status值而不真实删除该记录;

6、Checkintime为记录添加时间列,默认值为系统时间;

7、表、存储过程、视图等对象所有都为dbo,不要使用数据库顾客名,这样会影响数据库顾客更改。

数据类型缩写

stringstr

inti

charchr

sbytesb

bytebt

uintui

longl

ulongul

floatf

doubled

boolb

decimaldec

附注:

数据库服务器命名规范,控件名缩写+控件作用单词全称,如:

btnNext,txtPassword(密码文本框),txtRPassword(密码确认文本框),单词第一种字母必要大写如果有各种单词,则为控件缩写+控件作用第一种单词+第二个单词全称,每个单词名第一种字母必要大写

服务器控件名缩写表

a、web控件

web控件名缩写

AdRotatorart

Buttonbtn

Calendarcd

CheckBoxchk

CheckBoxListchkl

CompareValidatorcpv

CustomValidatorctv

DataGriddg

DataListdl

DropDownListddl

HyperLinkhl

Imageimg

ImageButtonIbtn

Labellab

LinkButtonlbtn

ListBoxlst

Panelpl

PlaceHolderph

RadioButtonrb

RadioButtonListrbl

RangeValidatorrv

RegularExpressionValidatorrev

Repeaterrp

RequiredFieldValidatorrfv

Tabletb

TableCelltc

TableRowtr

TextBoxtxt

ValidationSummaryvs

XMLXML

b、html控件

html控件名缩写

HtmlAnchorhah

HtmlButtonhbtn

HtmlFormhform

HtmlGenericControlhgc

HtmlImagehimg

HtmlInputButton(按钮)htxt

HtmlInputButton(重置)hrbtn

HtmlInputButton(提交)hcbtn

HtmlInputCheckBoxhick

HtmlInputFilehifile

HtmlInputHiddenhihidden

HtmlInputImagehiimg

HtmlInputRadioButtonhirb

HtmlInputText(密码)hpwd

HtmlInputText(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2