日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET和ASP.NET編碼規(guī)范

在開發(fā)中保持良好的編碼規(guī)范是十分重要的。我所采用的新的VB.NET/ASP.NET編碼規(guī)范,是一種被證明能明顯改善代碼可讀性,并有助于代碼管理、分類的編碼規(guī)范。采用這種編碼規(guī)范,能避免如匈牙利命名法帶來的繁長前綴,便于記憶變量的用途。下面的介紹這種編碼規(guī)范。

10多年的尚志網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整尚志建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“尚志網(wǎng)站設(shè)計(jì)”,“尚志網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

一、類型級單位的命名

1、類

(1)以Class聲明的類,都必須以名詞或名詞短語命名,體現(xiàn)類的作用。如:

 
 
 
 
  1. Class Indicator 

 

(2)當(dāng)類是一個(gè)特性(Attribute)時(shí),以Attribute結(jié)尾,當(dāng)類是一個(gè)異常(Exception)時(shí),以Exception結(jié)尾:

 
 
 
 
  1. Class ColorSetException  
  2. Class CauseExceptionAttribute 

 

(3)當(dāng)類只需有一個(gè)對象實(shí)例(全局對象,比如Application等),必須以Class結(jié)尾,如

 
 
 
 
  1. Class ScreenClass  
  2. Class SystemClass 

 

(4)當(dāng)類只用于作為其他類的基類,根據(jù)情況,以Base結(jié)尾:

 
 
 
 
  1. MustInherit Class IndicatorBase 

 

(5)如果定義的類是一個(gè)窗體,那么名字的后面必須加后綴Form,如果是Web窗體,必須加后綴Page:

 
 
 
 
  1. Class PrintForm : Inherits Form '* Windows窗體  
  2. Class StartPage : Inherits Page '* Web窗體 

2、枚舉和結(jié)構(gòu)

同樣必須以名詞或名詞短語命名。***體現(xiàn)枚舉或結(jié)構(gòu)的特點(diǎn),如:

 
 
 
 
  1. Enum ColorButtons '以復(fù)數(shù)結(jié)尾,表明這是一個(gè)枚舉  
  2. Structure CustomerInfoRecord '以Record結(jié)尾,表明這是一個(gè)結(jié)構(gòu)體 

 

3、委派類型

(1)普通的委派類型以描述動作的名詞命名,以體現(xiàn)委派類型實(shí)例的功能:

 
 
 
 
  1. Delegate Sub DataSeeker (ByVal SeekString As String) 

 

(2)用于事件處理的委派類型,必須以EventHandler結(jié)尾,如:

 
 
 
 
  1. Delegate Sub DataChangedEventHandler (ByVal Sender As Object, ByVal e As DataChangedEventArgs) 

 

4、接口

與其他類型不同,接口必須要由I作為前綴,并用形容詞命名,突出表現(xiàn)實(shí)現(xiàn)接口的類將具有什么能力:

 
 
 
 
  1. Interface ISortable 

 

5、模塊

模塊不是類型,他的名稱除了必須以名詞命名外,必須加以后綴Module:

 
 
 
 
  1. Module SharedFunctionsModule 

 

上述所有規(guī)則的共同特點(diǎn)是,每個(gè)組成名稱的詞語都必須是大寫開頭,禁止完全大寫或小寫的名稱。

二、方法和屬性的命名

1、方法

無論是函數(shù)還是子程序,方法都必須以動詞或動詞短語命名。無需區(qū)分函數(shù)和子程序,也無需指明返回類型。

 
 
 
 
  1. Sub Open(ByVal CommandString As String)  
  2. Function SetCopyNumber(ByVal CopyNumber As Integer) 

 

參數(shù)需要指明ByVal還是ByRef,這一點(diǎn)寫起來會讓程序邊長,但非常必要。如果沒有特別情況,都使用ByVal。參數(shù)的命名方法,參考后面“變量的命名方法”。需要重載的方法,一般不寫Overloads,根據(jù)需要編寫重載的方法。

2、屬性

原則上,字段(Field)是不能公開的,要訪問字段的值,一般使用屬性。屬性以簡潔清晰的名詞命名:

 
 
 
 
  1. Property Concentration As Single 
  2. Property Customer As CustomerTypes 

 

3、事件

事件是特殊的屬性,只能在事件處理上下文中使用。命名的原則一般是動詞或動詞的分詞,通過時(shí)態(tài)表明事件發(fā)生的時(shí)間:

 
 
 
 
  1. Event Click As ClickEventHandler  
  2. Event ColorChanged As ColorChangedEventHangler 

 

三、變量和常數(shù)

常數(shù)以表明常數(shù)意義的名詞命名,一般不區(qū)分常數(shù)的類型:

 
 
 
 
  1. Const DefaultConcentration As Single = 0.01 

 

在嚴(yán)格要求的代碼中,常數(shù)以c_開頭,如c_DefaultConcentration,但***不要用它,它會帶來輸入困難。

普通類型的變量,只要用有意義的名字命名即可,不可使用簡稱和無意義的名稱諸如A,x1等,下面給出了良好的例子:

 
 
 
 
  1. Dim Index As Integer 
  2. Dim NextMonthExpenditure As Decimal 
  3. Dim CustomerName As String 

 

不能起太長的名字,應(yīng)該盡量簡潔,如下面的例子:

 
 
 
 
  1. Dim VariableUsedToStoreSystemInformation As String '* 錯(cuò)誤,太復(fù)雜了  
  2. Dim SystemInformation As String '* 正確,簡單明了  
  3. Dim sysInfo As String '* 錯(cuò)誤,過于簡單 

 

特殊情況可以考慮一個(gè)字母的變量:

 
 
 
 
  1. Dim g As Graphic 

 

對于控件,應(yīng)該指明控件的類型,方法是直接在變量后面加以類名:

 
 
 
 
  1. Friend WithEvents NextPageButton As Button '* 按鈕  
  2. Friend WithEvents ColorChoicerPanel As Panel '* 面版  
  3. Friend WithEvents CardFileOpenDialog As FileOpenDialog '* 文件打開對話框 

 

等等,無需規(guī)定某種類型的變量的前綴,只需把類型寫在后面就行了,試對比下列代碼:

 
 
 
 
  1. btnCancel.Text = "&Cancel" 
  2. CancelButton.Text = "&Cancel" 

顯然后者更能使閱讀者明白變量的類型是一個(gè)按鈕。

#p#

四、前綴

1、對象

1)標(biāo)準(zhǔn)對象

2)自定義對象

我們規(guī)定應(yīng)該根據(jù)自定義對象的名稱來確定該對象類型的前綴,例子如下:

對象:SysSet

前綴:ss

例子:ssSafety

2、根據(jù)變量與常量的生存周期,我們應(yīng)該定義不同的生存周期前綴以示區(qū)別,以便我們清楚該變量/常量的范圍。

a) 類、模塊、組件、控件

我們規(guī)定在類、模塊、組件、控件范圍內(nèi),變量的生存周期前綴應(yīng)該添加“m_”(Module-模塊)。例子如下:

b) 過程、函數(shù)、屬性、事件

我們規(guī)定在過程、函數(shù)、屬性、事件范圍內(nèi),變量的生存周期前綴應(yīng)該添加“o_”(Owner -私有)。例子如下:

五、標(biāo)簽

標(biāo)簽就是用于Goto跳轉(zhuǎn)的代碼標(biāo)識,由于Goto并不推薦使用,所以標(biāo)簽的使用也比較苛刻。標(biāo)簽必須全部大寫,中間的空格用下劃線_代替,而且應(yīng)該以_開頭,比如:

_A_LABEL_EXAMPLE:

如此定義標(biāo)簽是為了與其他代碼元素充分區(qū)別。

六、名字空間

通常,一個(gè)工程使用一個(gè)名字空間,通常不需要用Namespace語句,而是在工程選項(xiàng)的“Root Namespace”中指定,使用根名字空間可以使代碼更加整齊,容易修改,這一點(diǎn)是VB十足的優(yōu)點(diǎn)。名字空間的語法是:

公司名.產(chǎn)品名[.組件名的復(fù)數(shù)]

如:

 
 
 
 
  1. Namespace COM.NET  
  2. Namespace COM.File.IO.Files 

 

隨便起一個(gè)名字空間的名字絕對不是一個(gè)好主意,一定要遵守上述規(guī)定。

七、格式化

良好的格式化代碼對我們的瀏覽與維護(hù)有相當(dāng)?shù)暮锰帯?/p>

1、塊

.NET提供了#Region...#End Region塊控制。我們應(yīng)該根據(jù)代碼所實(shí)現(xiàn)的功能分類并以塊組織起來。

2、縮進(jìn)

每個(gè)層次直接都應(yīng)該以Tab進(jìn)行縮進(jìn),而不是Space(空格鍵)。

3、流

每個(gè)方法、函數(shù)、屬性、事件應(yīng)該有且只有一個(gè)入口和一個(gè)出口。如果遇見多層嵌套而需要直接跳出的時(shí)候,請使用局部Boolean或者Integer變量來標(biāo)示用以多層跳出。

譬如:

 
 
 
 
  1. Private Function TestForReturn () As Boolean 
  2. Dim o_blnRet As Boolean=False 
  3. Dim i As Integer, l As Integer 
  4. For i=1 To 100  
  5. For l=1 To 10  
  6. If (x) Then 
  7. o_blnRet=True 
  8. Exit For 
  9. Else 
  10. End If 
  11. Next 
  12. If o_blnRet Then 
  13. Exit For 
  14. Else 
  15. End If 
  16. Next 
  17. Return o_blnRet '這里是唯一出口  
  18. End Function 

 

八、注釋

1、準(zhǔn)則

注釋的規(guī)則繁多,基本地:正常的注釋以'*開頭,單獨(dú)的'只用來注釋暫時(shí)不用的代碼

'* 這是普通的注釋

'* 這段代碼在調(diào)試正確后加入

'If UseHighSpeed(i) = True Then ....

這樣能夠方便的采用代碼注釋工具控制代碼的使用。

2、類(包括WebForm、WinForm等)、模塊、組件、控件

每個(gè)類、模塊、組件、控件最開始的地方必須輸入該對象的信息,樣例內(nèi)容與格式如下:

一般地,我們要求內(nèi)容有:對象名稱、命名空間、作者、功能說明、創(chuàng)建日期、修改日期、修改記錄,特別地,我們要求修改記錄應(yīng)該詳細(xì)敘述最近的修改。

3、方法、函數(shù)、事件與屬性

每個(gè)方法、函數(shù)、事件與屬性最開始的地方必須輸入該對象的信息,樣例內(nèi)容與格式如下:

一般地,我們要求內(nèi)容有:名稱、功能、作者、說明、創(chuàng)建、修改、參數(shù)與返回。


當(dāng)前標(biāo)題:VB.NET和ASP.NET編碼規(guī)范
網(wǎng)站鏈接:http://www.5511xx.com/article/cdcejoc.html