一、 前言<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
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:<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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 Permission 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) Parameters:參數說明
5) Calls:被本過程調用的函數和過程清單
6) Called By:調用本過程的函數或過程清單
7) Table Accessed:被訪問的表(僅限涉及數據庫操作的程序)
8) Table Updated:被修改的表(僅限涉及數據庫操作的程序)
9) History:修改歷史記錄列表,每條記錄應包含修改作者,修改內容和修改時間
2.規範實例
以Delphi爲例
/*---------------------------------------------------
Description:Test NetWorkConnection
Author:Peter Date:2003/1/11
Parameters:sIP Char[15](Remote IP Address)
Calls:None
Called By:BtnTestConnection_Click()
Table Accessed:None
Table Updated:None
History:None
------------------------------------------------------*/
四、 函數註釋規範
1.規範描述
1) 寫在函數的開頭,以註釋符加----------------------------開始結尾
2) Description:功能描述
3) Author 作者 Date 完成日期
4) Parameters:參數說明
5) Return:返回值說明
6) Calls:被本函數調用的函數和過程清單
7) Called By:調用本函數的函數或過程清單
8) Table Accessed:被訪問的表(僅限涉及數據庫操作的程序)
9) Table Updated:被修改的表(僅限涉及數據庫操作的程序)
10) History:修改歷史記錄列表,每條記錄應包含修改作者,修改內容和修改時間
2.規範實例
以Delphi爲例
/*---------------------------------------------------
Description:Get MAC Address From Network Adapter
Author:Peter Date:2004/2/11
Parameters:sIP char[15]
Return:
MAC StringCalls:None
Called 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 |