|
當(dāng)你編寫(xiě)可以節(jié)省時(shí)間的ASP代碼時(shí),如果要移植代碼的話,有許多事情需要做。跟隨以下步驟,你會(huì) 發(fā)現(xiàn)移植代碼沒(méi)有什么麻煩的。
聲明變量類(lèi)型
Visual Basic 和VBScript 的最大缺點(diǎn)是它允許開(kāi)發(fā)人員未經(jīng)聲明就使用變量。如果你覺(jué)得這是個(gè)好處, 那么當(dāng)你要整個(gè)晚上來(lái)尋找由一個(gè)小小的打字錯(cuò)誤而造成的邏輯錯(cuò)誤時(shí),就不再這樣想了。如果你使用 了"Option Explicit"(明確選項(xiàng))而強(qiáng)制明確聲明了的話,IDE 就會(huì)對(duì)此進(jìn)行警告。
< %@ Language=VBScript % > < % Option Explicit % >
當(dāng)你使用Option Explicit時(shí),要記住它剛好在@ declarations下面。不注意這一點(diǎn)會(huì)導(dǎo)致一個(gè)小小的 錯(cuò)誤信息。
Microsoft VBScript compilation error '800a0400'
Expected statement
/test.asp, line 4
Option Explicit
^
現(xiàn)在挑戰(zhàn)來(lái)了。VBScript 允許將變量是任何數(shù)據(jù)類(lèi)型,只要它是variant。這就是說(shuō)你只能把變量 聲明為variants。在許多方面這是十分浪費(fèi)的,但是在ASP可以接受。但是在Visual Basic中,當(dāng) 可能創(chuàng)建更有效的代碼時(shí),變量就要被定義類(lèi)型。這個(gè)程序很簡(jiǎn)單,只需在聲明之后加上"as [data_type]" ,這時(shí)它就不再是一個(gè)簡(jiǎn)單的variant了。
比如說(shuō),現(xiàn)在有一個(gè)變量是一個(gè)字符串。打開(kāi)一個(gè)ASP頁(yè)然后鍵入"Dim strSession as String"。然后 預(yù)覽這個(gè)頁(yè)面,就會(huì)得到一個(gè)小小的驚喜。
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/icu/temp.asp, line 3
Dim strSession as String
---------------^
所以,如何作到不對(duì)ASP代碼造成威脅而準(zhǔn)備Visual Basic 的變量?我不能確定對(duì)此如何評(píng)價(jià)。有 一種方式是在變量聲明之后使用注釋標(biāo)記。要注意這不僅在將代碼移植到VB時(shí)有幫助,當(dāng)有別 的公司提供高薪挖你走的時(shí)候,這還有助于別人理解你的代碼。以下是在ASP版本2中用注釋標(biāo)記 聲明變量的三種途徑:
Private strString 'as String Dim intInteger 'as Integer Public bolBoolean 'as Boolean
這種數(shù)據(jù)類(lèi)型的定義技巧還適用于你在ASP應(yīng)用程序中使用的任何函數(shù)。(請(qǐng)看下面部分子程序和函數(shù))。
Private Function(strString, intInteger) 'as Boolean
當(dāng)我敲入我的ASP代碼時(shí),也在其中貫穿了這些注釋。這也許不適合你,也許你在處理一些舊代碼, 在移植代碼之后,你可以使用Visual Basic 的搜索和替換功能來(lái)增加數(shù)據(jù)類(lèi)型。這樣更有意義,因?yàn)?br>在函數(shù)和子程序中不能注釋變量。代碼越是程序話,變量數(shù)據(jù)類(lèi)型注釋就越少。
關(guān)于Visual Basic數(shù)據(jù)類(lèi)型的更多信息,可以參看MSDN 有關(guān)數(shù)據(jù)類(lèi)型的在線文章。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!