一、 前言
1. 设计规范的重要性
整个软件开发过程是个相当复杂的过程,不是单靠几个设计师在那里编写代码就可以.往往在软件开发过程中会有各种没有预料到的情况发生,比如客户需求不断变化,设计人员流失等等,为了保证软件的质量,能够达到客户的满足和满足市场的要求,早期工作做的越是完善,之后产生的返工,成本增加的可能性就越低.对开发和设计进行一定的规范就显得非常有必要了,对于不同的开发人员来说,遵照一定的原则进行编码和命名(比如广泛使用的匈牙利规则),有助于整个软件的开发进度并且对二次开发产生积极的作用.
2. 本设计规范的适用范围
本规范适用于常用可视化软件开发工具,如Delphi,VC,VB,.NET,和WEB开发语言ASP(VbScript,JavaScript,JScript脚本语言),PHP,JSP等,对于不同工具会有一些差别,下面会对部分进行说明.因时间匆忙,表述比较简单,个中作用还得各位在开发中自己取体会。
二、 说明性文件规范
1.规范描述
1) 写在每个程序文件的文件头,说明整个文件的作用
2) 以语言的注释符加---------------------------开始和结尾,如Delphi为//,ASP为’
3) File Name:文件名
4) Author作者 Version 版本 Date 完成日期
5) Description:用以描述此程序文件的主要功能,与其他模块和函数的接口,输出值,取值范围,含义以及参数间的控制,顺序,独立或者依赖等关系
6) Others:其他内容的说明
7) Function List:主要函数列表,每条记录应包含函数名和简要说明
8) History:修改历史记录列表,每条记录应包含修改作者,修改日期和修改内容
2.规范实例
以ASP为例
‘-------------------------------------------------------------
‘File Name:MsgView.asp
‘Author:Name Version:1.0 Date: 2004/1/29
‘Description:View Short Message From Other Friends which is
‘ Permitted(Can Be Set in Friends.asp By Admin)
‘Others:SQL Injection Denied
‘Function List:
‘1)IsPermetted(iUsID):Check User has Perm ission to Send
‘ Message Or not;
‘2)ViewFriend():View All User’s Friend;
‘History:
‘1)Check Spelical Characters By Jack On 2004/5/2
‘-------------------------------------------------------------
三、 过程注释规范
1.规范描述
1) 写在过程的开头,以注释符加----------------------------开始结尾
2) Description:功能描述
3) Author 作者 Date 完成日期
4) Para meters:参数说明
5) Cal ls:被本过程调用的函数和过程清单
6) Cal led By:调用本过程的函数或过程清单
7) Table Accessed:被访问的表(仅限涉及数据库操作的程序)
8) Table Updated:被修改的表(仅限涉及数据库操作的程序)
9) History:修改历史记录列表,每条记录应包含修改作者,修改内容和修改时间
2.规范实例
以Delphi为例
/*---------------------------------------------------
Description:Test NetWork Conn ection
Author:Peter Date: 2003/1/11
Para meters:sIP Char[15](Remote IP Address)
Cal ls:None
Cal led By:BtnTestConnection_Click()
Table Accessed:None
Table Updated:None
History:None
------------------------------------------------------*/
四、 函数注释规范
1.规范描述
1) 写在函数的开头,以注释符加----------------------------开始结尾
2) Description:功能描述
3) Author 作者 Date 完成日期
4) Para meters:参数说明
5) Return:返回值说明
6) Cal ls:被本函数调用的函数和过程清单
7) Cal led By:调用本函数的函数或过程清单
8) Table Accessed:被访问的表(仅限涉及数据库操作的程序)
9) Table Updated:被修改的表(仅限涉及数据库操作的程序)
10) History:修改历史记录列表,每条记录应包含修改作者,修改内容和修改时间
2.规范实例
以Delphi为例
/*---------------------------------------------------
Description:Get MAC Address From Network Ada pter
Author:Peter Date: 2004/2/11
Para meters:sIP char[15]
Return: MAC St ring
Cal ls:None
Cal led By:showUserInfo()
Table Accessed:None
Table Updated:None
History:None
------------------------------------------------------*/
五、 命名规范
1.变量命名的目标
1) 使变量的用途明确
2) 使每个变量的数据类型和可见范围清晰明了
3) 使代码中的过程易于理解
4) 使程序易于调试
5) 使变量的存储和处理更为有效
2.控件的常用命名
普通控件 | ||
名称 | 前缀 | 示例 |
button | btn | btnSubmit |
calendar | cal | calBirthday |
checkBox | chk | chkBlue |
checkBoxList | chkl | chklFavColors |
DataGrid | dgrd | dgrdTitles |
DataList | dlst | dlstTitles |
DropDownList | drop | dropBirthYear |
Hyperlink | link | linkDetails |
Image | img | imgPhoto |
ImageButton | iBtn | iBtnSubmit |
Label | lbl | lblResult |
LinkButton | lBtn | lBtnWebSite |
ListBox | lst | lstFriends |
Panel | pnl | pnlPersonal |
RadioButton | rad | radSex |
Textbox | txt | txtIP |
Table | tbl | tblMessage |
ADO.Net控件 | ||
Connection | con | conNorthWind |
Command | cmd | cmdReturnPages |
Parameter | parm | parmUsID |
DataAdapter | dad | dadProducts |
DataReader | dtr | dtrProducts |
DataSet | dst | dstUser |
DataTable | dtbl | dtblProducts |
DataRow | drow | drowRow9 |
DataView | dvw | dvwFilteredUsers |
DataColumn | dcol | dcolUserID |
DataRelation | drel | drelMasterDetail |
|
|
|
3.变量对象的命名
类型 | 前缀 | 示例 |
Char | c | cText |
Byte | by | byImage |
Boolean | b | bResult |
String | s | sIP(VB,ASP) |
ColorRef | cr | crFavColor |
坐标 | cx,cy |
|
Double Word | dw | dwSpeed |
Integer | i | iYear |
Array | a | aTemp |
Object | o | oConn |
Short Integer | n | nWait |
Long | l | lWord |
Float | f | fText |