內(nèi)容如下: 一、 常量、變量、對(duì)象和過(guò)程命名約定 二、 代碼注釋約定 三、 文本格式和縮近約定 四、 其它約定
一、 常量、變量、對(duì)象和過(guò)程命名約定 1. 常、變量命名約定 a) 常、變量的名字應(yīng)由能表示常、變量?jī)?nèi)容的單詞組成,每個(gè)單詞的首字母要大寫(xiě) b) 常、變量的名字前要加上表示常、變量數(shù)據(jù)類(lèi)型的前綴 c) 如果常、變量是數(shù)組,要在數(shù)據(jù)類(lèi)型的前綴前再加上“a”; 如果數(shù)組中各元素包含的數(shù)據(jù)類(lèi)型不一致,則該常、變量數(shù)據(jù)類(lèi)型的前綴應(yīng)寫(xiě)為“vnt” d) 常量的名字前還要加上前綴“con_-” e) 如果是腳本級(jí)常、變量,要在常、變量的名字的最前面加上前綴“s_-”
例:一個(gè)過(guò)程級(jí)的常量,表示系統(tǒng)允許的最大用戶數(shù),可以命名如下, con_intSystemMaxUser
例:一個(gè)過(guò)程級(jí)的數(shù)組常量,存儲(chǔ)產(chǎn)品供應(yīng)商的名稱(chēng),可以命名如下, con_astrSupplier
例:一個(gè)腳本級(jí)的常量,表示當(dāng)前使用本系統(tǒng)的公司或個(gè)人的名稱(chēng),可以命名如下, s_con_strSystemOwner
例:一個(gè)過(guò)程級(jí)的變量,表示用戶輸入的數(shù)據(jù)是否合法,可以命名如下, blnValidInput
例:一個(gè)過(guò)程級(jí)的數(shù)組變量,存儲(chǔ)可能用到的各種類(lèi)型的數(shù)據(jù),可以命名如下, avntTemp
例:一個(gè)腳本級(jí)的變量,表示數(shù)據(jù)分頁(yè)顯示中的當(dāng)前頁(yè)號(hào),可以命名如下, s_intCurPageNo
附:數(shù)據(jù)類(lèi)型前綴表 數(shù)據(jù)類(lèi)型 數(shù)據(jù)內(nèi)容描述 對(duì)應(yīng)的前綴 舉例 Array 數(shù)組 a astrCustomer Boolean True或False bln blnFound Byte 0至255的整數(shù) byt bytUserCnt Currency -922, 337, 203, 685, 477.5808至922, 337, 203, 685, 477.5807的數(shù)字 cur curMyAccount Date (Time) 表示公元100年1月1日和公元9999年12月31日之間的一個(gè)日期的數(shù)字 dtm dtmStartDate Double 雙精度浮點(diǎn)數(shù)1. 對(duì)于負(fù)數(shù),范圍從-1.79769313486232E308至-4.94065645841247E-3242. 對(duì)于正數(shù),范圍從4.94065645841247E-324至1.79769313486232E308 dbl dblTolerance Empty 表示定義量未初始化對(duì)于數(shù)字量,默認(rèn)值為0對(duì)于字符串量,默認(rèn)值為”” / / Error 一個(gè)錯(cuò)誤號(hào)碼 err errOrderNum Integer -32, 768至32, 767的整數(shù) int intQstCnt Long -2, 147, 483, 648至2, 147, 483, 647的整數(shù) lng lngUserID Null 表示沒(méi)有合法的數(shù)據(jù) / / Object 對(duì)象 obj objFSO Single 單精度浮點(diǎn)數(shù)1. 對(duì)于負(fù)數(shù),范圍從-3.402823E38至-1.401298E-452. 對(duì)于正數(shù),范圍從1.401298E-45至3.402823E38 sng sngChange String 可能包含0至近20億個(gè)字符的字符串 str strUserName Variant 表示數(shù)據(jù)是變體型的 vnt vntReturnvalue
2. 對(duì)象命名約定 a) 對(duì)象的名字應(yīng)由能表示對(duì)象內(nèi)容的單詞組成,每個(gè)單詞的首字母要大寫(xiě) b) 對(duì)象的名字前要加上表示對(duì)象類(lèi)型的前綴 c) 如果是腳本級(jí)對(duì)象,要在對(duì)象的名字的最前面加上前綴“s_-”
例:一個(gè)過(guò)程級(jí)的ADO記錄集對(duì)象,包含用戶基本信息記錄,可以命名如下, rstUserInfo
例:一個(gè)腳本級(jí)的ADO連接對(duì)象,保存與Sentin公司的數(shù)據(jù)庫(kù)的連接,可以命名如下, s_cnnSentin
附:對(duì)象類(lèi)型前綴表 對(duì)象類(lèi)型 對(duì)象描述 對(duì)應(yīng)的前綴 舉例 ADOConnection ADO 連接對(duì)象 cnn cnnSentin ADOCommand ADO 命令對(duì)象 cmd cmdSentin ADORecordset ADO 數(shù)據(jù)集對(duì)象 rst rstProducts
3. 過(guò)程命名約定 a) 過(guò)程的名字應(yīng)由能表示過(guò)程所執(zhí)行的操作的單詞組成,每個(gè)單詞的首字母要大寫(xiě) b) 過(guò)程的名字應(yīng)該以動(dòng)詞開(kāi)頭
例:一個(gè)子過(guò)程,用來(lái)初始化聊天內(nèi)容數(shù)組,可以命名如下, InitChatArray
例:一個(gè)函數(shù),用來(lái)將Empty或Null值轉(zhuǎn)化成HTML中的空格( ),可以命名如下, TransEmptyToSpace
4. 常量、變量、對(duì)象和過(guò)程命名共同遵守的約定 a) 名字盡量不要超過(guò)32個(gè)字符 b) 如果名字中包含常用或較長(zhǎng)的單詞,可以使用縮寫(xiě) f) 如果名字中某單詞使用了縮寫(xiě),應(yīng)保證所有腳本中該單詞都使用縮寫(xiě)且縮寫(xiě)形式不變
二、 代碼注釋約定 a) 每個(gè)過(guò)程都應(yīng)在其上部寫(xiě)一段簡(jiǎn)明的注釋?zhuān)^部注釋?zhuān)脕?lái)說(shuō)明過(guò)程的功能(注:這段注釋用來(lái)對(duì)過(guò)程的功能進(jìn)行概述,而不是用來(lái)說(shuō)明過(guò)程功能的具體實(shí)現(xiàn)細(xì)節(jié)的。過(guò)程功能的具體實(shí)現(xiàn)細(xì)節(jié)由過(guò)程內(nèi)部注釋來(lái)說(shuō)明)。頭部注釋包含以下內(nèi)容,
過(guò)程頭部注釋說(shuō)明表 注釋分段 注釋內(nèi)容 過(guò)程名稱(chēng) 子過(guò)程或函數(shù)的名稱(chēng) 過(guò)程功能 子過(guò)程或函數(shù)功能的概述 傳入?yún)?shù) 對(duì)傳入?yún)?shù)的說(shuō)明。應(yīng)注意1. 每個(gè)參數(shù)使用單獨(dú)的一行來(lái)說(shuō)明2. 說(shuō)明內(nèi)容可能包括參數(shù)的含義、取值范圍、每個(gè)可能取值的含義 返回結(jié)果 如果該過(guò)程是函數(shù),在此說(shuō)明函數(shù)的返回結(jié)果 其他說(shuō)明 關(guān)于該過(guò)程的其他說(shuō)明
例:一個(gè)子過(guò)程,用來(lái)初始化聊天內(nèi)容數(shù)組,它的頭部注釋可能如下,
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ''過(guò)程名稱(chēng): InitChatArray ''過(guò)程功能: 初始化聊天內(nèi)容數(shù)組 ''傳入?yún)?shù): 1.SenPartCnt - 一句話的組成部分?jǐn)?shù)目 '' 2.MaxSenCnt - 一次最多保存的句子數(shù)目 ''返回結(jié)果: 無(wú) ''其他說(shuō)明: 無(wú) ''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
例:一個(gè)函數(shù),用來(lái)將Empty或Null值轉(zhuǎn)化成HTML中的空格( ),它的頭部注釋可能如下,
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ''過(guò)程名稱(chēng): TransEmptyToSpace ''過(guò)程功能: 將Empty或Null值轉(zhuǎn)化成HTML中的空格( )并返回 '' 如果要轉(zhuǎn)化的值不是Empty或Null,就返回其原值 ''傳入?yún)?shù): 1. StringToTrans - 要轉(zhuǎn)化的字符串 ''返回結(jié)果: 轉(zhuǎn)化后的字符串 ''其他說(shuō)明: 主要用在將記錄集中的字段值顯示在頁(yè)面中的表格時(shí), '' 防止因Empty或Null值而使表格的某個(gè)單元格不顯示邊框 ''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
b) 對(duì)于全部或重要的常量、變量和對(duì)象聲明都應(yīng)該有內(nèi)部注釋
例:以下是一些常見(jiàn)的聲明注釋?zhuān)?
Dim s_cnnSentin Dim s_rstUserInfo Dim s_strSql
''======================================= '' s_cnnSentin : 與Sentin公司的數(shù)據(jù)庫(kù)的連接 '' s_rstUserInfo : 用戶信息記錄集 '' s_strSql : SQL命令字符串 ''=======================================
c) 對(duì)于重要的、功能/目的不明確的或易引起混淆的語(yǔ)句也要加以注釋
例:以下是一些常見(jiàn)的語(yǔ)句注釋?zhuān)?
''刪除指定的用戶紀(jì)錄 ''+++++++++++++++++++++++++++++++++++++++++++++++++++++++ : : ''獲取要?jiǎng)h除的用戶紀(jì)錄ID ''----------------------------------------------- : s_strUserToDel = Request.Form(“chkUser”) :
''根據(jù)給定的用戶紀(jì)錄ID,刪除用戶紀(jì)錄 ''----------------------------------------------- : s_cnnSentin.Execute “DELETE FROM UserInfo WHERE ID IN (” & strUserToDel & “)” :
d) 一個(gè)完整的代碼注釋的例子
''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ''過(guò)程名稱(chēng): TransEmptyToSpace ''過(guò)程功能: 將Empty或Null值轉(zhuǎn)化成HTML中的空格( )并返回 '' 如果要轉(zhuǎn)化的值不是Empty或Null,就返回其原值 ''傳入?yún)?shù): 1. StringToTrans - 要轉(zhuǎn)化的字符串 ''返回結(jié)果: 轉(zhuǎn)化后的字符串 ''其他說(shuō)明: 主要用在將記錄集中的字段值顯示在頁(yè)面中的表格時(shí), '' 防止因Empty或Null值而使表格的某個(gè)單元格不顯示邊框 ''%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Function TransEmptyToSpace(StringToTrans) Dim strToTrans ''======================================= '' strToTrans : 要轉(zhuǎn)化的字符串 ''=======================================
strToTrans = StringToTrans
''如果要轉(zhuǎn)化的值是Empty或Null,將其轉(zhuǎn)化成HTML中的空格 ''----------------------------------------------------------------------------- If IsEmpty(strToTrans) = True Or IsNull(strToTrans) = True Then TransEmptyToSpace = “ ” Exit Function End If
''如果要轉(zhuǎn)化的值不是Empty或Null,就返回其原值 ''----------------------------------------------------------------------------- TransEmptyToSpace = strToTrans End Function
三、 文本格式和縮近約定 a) 標(biāo)準(zhǔn)縮近距離為4個(gè)空格 b) 下級(jí)語(yǔ)句應(yīng)相當(dāng)于上級(jí)語(yǔ)句縮近1標(biāo)準(zhǔn)距離
四、 其它約定 a) 所有代碼中用到的對(duì)象必須顯式地銷(xiāo)毀
例: 銷(xiāo)毀ADO對(duì)象 Dim s_cnnSentin Dim s_rstUserInfo
Set s_cnnSentin = Server.CreateObject(“ADODB.Connection”) Set s_rstUserInfo = Server.CreateObject(“ADODB.Recordset”) : s_rstUserInfo.Close s_cnnSentin.Close Set s_rstUserInfo = Nothing Set s_cnnSentin = Nothing
例: 銷(xiāo)毀FSO對(duì)象 Dim s_objFSO Dim s_filTest
Set s_objFSO = Server.CreateObject("Scripting.FileSystemObject") Set s_filTest = s_objFSO.CreateTextFile("C:\Ray.txt", True) s_filTest.WriteLine("This is a test.")
s_filTest.Close Set s_filTest = Nothing Set s_objFSO = Nothing
b) 每一個(gè)常量、變量、數(shù)組或?qū)ο蟮穆暶鞫急仨毷褂脝为?dú)的一行 c) 每一行最多只寫(xiě)一條語(yǔ)句
|