ASP開(kāi)發(fā)規(guī)范要求
來(lái)源:易賢網(wǎng) 閱讀:821 次 日期:2014-11-01 13:11:51
溫馨提示:易賢網(wǎng)小編為您整理了“ASP開(kāi)發(fā)規(guī)范要求”,方便廣大網(wǎng)友查閱!

為了規(guī)范程序代碼編寫(xiě),提高代碼可讀性,降低后期維護(hù)成本,提高辦公效率,建議以后編寫(xiě)的程序按以下幾條規(guī)范進(jìn)行:

一、 統(tǒng)一VBSCRIPT和ASP程序編寫(xiě)規(guī)范:

(一)變量命名規(guī)則:

由于在ASP和VBSCRIPT中因?yàn)椴恍枰暶髯兞?,同時(shí)不能聲明變量的類型,但為了提高代碼的可讀性,養(yǎng)成好的開(kāi)發(fā)習(xí)慣,對(duì)于本系統(tǒng)開(kāi)發(fā)的變量命名統(tǒng)一規(guī)則如下:

1. 使用Dim、Public、Private聲明變量;

例如:Dim iStudentNum

2. 變量類型的體現(xiàn):

a、 整型變量:以小寫(xiě)字母i開(kāi)頭,后面跟變量標(biāo)示符,英文單詞的第一個(gè)字母大寫(xiě)。

例如:下面聲明一個(gè)存儲(chǔ)數(shù)據(jù)庫(kù)記錄多少的變量

Dim iResordsetNumber

b、 單精度實(shí)體變量:以小寫(xiě)字母f開(kāi)頭,后面跟變量標(biāo)示符,英文單詞的第一個(gè)字母大寫(xiě)。

c、 雙精度實(shí)體變量:以小寫(xiě)字母d開(kāi)頭,后面跟變量標(biāo)示符,英文單詞的第一個(gè)字母要大寫(xiě)。

d、 字符型變量:以小寫(xiě)字母s開(kāi)頭;

e、 布爾型變量:以小寫(xiě)字母b開(kāi)頭;

f、 數(shù)組變量:數(shù)組類型+“_”+“Array”+“_”+“變量標(biāo)示符”

例如:定義一個(gè)存儲(chǔ)學(xué)生成績(jī)的數(shù)組(存儲(chǔ)單精度實(shí)體類型變量)

Dim f_Array_StudentMark

3. 變量標(biāo)示符要符合標(biāo)示符標(biāo)準(zhǔn),同時(shí)容易理解,盡量使用英文單詞來(lái)代替,盡量避免使用縮寫(xiě)或簡(jiǎn)寫(xiě)。

例如:存儲(chǔ)校友通訊錄的字符串變量定義為:

Dim sSchoolfellowAddressList;

雖然這樣定義在輸入的時(shí)候比較麻煩,但是,它大大提高了程序的可讀性,見(jiàn)其變量命名就知其意。在做變量查找的時(shí)候也比較方便。 速度和性能總是不能兩全,為了方便后者我們也就只有犧牲速度。

4.在變量定義后面加變量功能定義的注釋。

(二)常量命名規(guī)則:

類型體現(xiàn)和上面一樣,不一樣的地方是,所有后面的標(biāo)示符全部大寫(xiě),例如:

定義一個(gè)存儲(chǔ)語(yǔ)言種類的的字符型常量:

Const sLANGUAGE_TYPE=”Chinese”

(三)功能函數(shù)、過(guò)程命名規(guī)則:

1. 使用Function聲明函數(shù),用Sub聲明過(guò)程;

2. 函數(shù)名或過(guò)程名的第一個(gè)字母大寫(xiě),且后面的每個(gè)單詞第一個(gè)字母大寫(xiě)。

例如:

Function CheckValidityOfInput(sStuentMark)

‘此處寫(xiě)代碼

…………

End Function

3. 函數(shù)名或過(guò)程名要容易讀,簡(jiǎn)單明了。

4. 在函數(shù)前面加注釋,說(shuō)明函數(shù)功能、參數(shù)說(shuō)明、創(chuàng)建日期、修改日期、修改原因、創(chuàng)建人、修改人等相關(guān)信息。

(四)代碼縮進(jìn)標(biāo)準(zhǔn):

為了提高代碼的美觀型和易讀性,在此提出代碼編寫(xiě)的版面格式:區(qū)間與區(qū)間之間以一個(gè)為間距。

例如:

‘***********************************************************

‘功能:檢測(cè)輸入字符串中的單引號(hào),如果有則把原來(lái)的一個(gè)單引號(hào)變成兩

‘ 個(gè)單引號(hào),兩個(gè)變成四個(gè),依次類推,從而避免SQL語(yǔ)句執(zhí)行錯(cuò)誤。

‘創(chuàng)建人:XXXX

‘創(chuàng)建時(shí)間:2002-7-6

‘修改時(shí)間:

‘修改原因:

‘修改人:

‘輸入?yún)?shù)說(shuō)明:sInputString:需要進(jìn)行單引號(hào)檢測(cè)的字符串

‘***********************************************************

Function CheckValidityOfInput(sInputString)

Dim iCirculationControl ‘控制循環(huán)

Dim sApartString ‘分離字符檢測(cè)

Dim iLenOfInput ‘輸入字符長(zhǎng)度

iLen= Len(Trim(sInputString))

For iCirculationControl = 1 To iLen

If Mid(sInputString, iCirculationControl, 1) <>"'" Then

sApartString = sApartString & _

Mid(Trim(sInputString), iCirculationControl , 1)

Else

sApartString = sApartString & "''"

End If

Next

CheckValidityOfInput = sApartString

End Function

二、 統(tǒng)一JavaScript程序編寫(xiě)規(guī)范:

JavaScript的命名規(guī)則和上面大部分相同,唯一不同的地方是:變量使用Var來(lái)聲明,在聲明結(jié)束后以分號(hào)(;)結(jié)束。

函數(shù)的代碼要求層次清楚,該寫(xiě)在下一行的地方盡量往下一行寫(xiě),不要在一行中完成所有代碼,這樣看起來(lái)不容易,檢查錯(cuò)誤也特別費(fèi)時(shí)。

在寫(xiě)函數(shù)的時(shí)候記著加注釋內(nèi)容,以便以后維護(hù)時(shí)快速了解程序功能。

下面是一個(gè)JavaScript程序:

三、 系統(tǒng)性能提高,代碼規(guī)范:

1.在ASP頁(yè)面內(nèi),凡是使用CreageObject()創(chuàng)建的對(duì)象(Com、Recordset等),對(duì)于這些變量,應(yīng)當(dāng)在該頁(yè)結(jié)束進(jìn)行對(duì)象釋放:即

Set 對(duì)象變量名=Nothing

2.數(shù)據(jù)庫(kù)打開(kāi)以后在不用的時(shí)候(通常是本頁(yè)最后面),需要對(duì)連接進(jìn)行關(guān)閉;

3.對(duì)于SQL語(yǔ)句,存儲(chǔ)過(guò)程,盡量避免使用*來(lái)取所有字段,為了代碼的易讀性,SQL關(guān)鍵字要求全部大寫(xiě),字段部分小寫(xiě)。

例如:

SELECT name,age,birthday,telephone,address FROM SchoolFellow.Address WHERE name=’xxxx’ ORDER BY birthday DESC

4.在ASP頁(yè)中所有屬性值盡量使用雙引號(hào)括起來(lái),特別是有屬性Value的值,不要因?yàn)槭r(shí)間而把雙引號(hào)去掉(有的地方雖然可以去掉,程序不會(huì)出現(xiàn)錯(cuò)誤,但,在有的地方去掉雙引號(hào)會(huì)引來(lái)更多的麻煩。)

例如:

”>

在這個(gè)例子中,如果把Value屬性值的單引號(hào)去掉,如果數(shù)據(jù)庫(kù)中出來(lái)的值有空格,空格后面還有值,結(jié)果,顯示的內(nèi)容只有空格前面的內(nèi)容,而后面的內(nèi)容就會(huì)丟失。這只是其中一種情況,其他還有很多未知情況發(fā)生。

5. 配對(duì)標(biāo)簽問(wèn)題:對(duì)于象之類的標(biāo)簽,要注意檢查配對(duì)的位值,有沒(méi)有結(jié)束標(biāo)志。

6. 對(duì)于需要輸入字符串,且需要使用SQL語(yǔ)句的地方,需要進(jìn)行單引號(hào)處理,調(diào)用/include/CheckQ.asp中的兩個(gè)方法(一個(gè)是客戶端處理,一個(gè)是服務(wù)器端處理,根據(jù)需要進(jìn)行調(diào)用,安全性要求高的地方多數(shù)情況下采用服務(wù)器端處理。)之一。

7. 為了提高安全性,能使用ASP編寫(xiě)的代碼,盡量采用ASP編寫(xiě),在服務(wù)器端運(yùn)行,不讓用戶看到代碼。

8. 對(duì)于安全性要求特別高的地方,建議采用三層結(jié)構(gòu):使用VB或Delphi編寫(xiě)商業(yè)邏輯層代碼(COM),盡量把數(shù)據(jù)庫(kù)的連接部分封裝到組件中,提高安全性能,通過(guò)組件和數(shù)據(jù)庫(kù)交流。

9. 對(duì)于網(wǎng)站的安全性,應(yīng)該采用好的斷口掃描軟件,查看網(wǎng)站已經(jīng)打開(kāi)的斷口,把不安全的斷口給關(guān)閉。

四、 養(yǎng)成寫(xiě)開(kāi)發(fā)文檔的習(xí)慣:

對(duì)于每一個(gè)頁(yè)面設(shè)計(jì)(前接頁(yè),后接頁(yè)),包括功能說(shuō)明,頁(yè)面設(shè)計(jì),頁(yè)面名稱,存放位置等,應(yīng)當(dāng)有相應(yīng)的文檔記載。對(duì)于發(fā)生改動(dòng)的地方,需要保留原來(lái)的部分(注釋或備份),并說(shuō)明備份文件存放的地方,改動(dòng)時(shí)間,修改人。

對(duì)于程序部分,應(yīng)該有相應(yīng)的設(shè)計(jì)流程,改動(dòng)的時(shí)候,也需要設(shè)計(jì)改動(dòng)流程圖,以便以后進(jìn)行對(duì)比,和查找問(wèn)題所在位置,以及問(wèn)題的嚴(yán)重性分析。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:ASP開(kāi)發(fā)規(guī)范要求
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)