偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

VB.NET和ASP.NET編碼規(guī)范

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

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

一、類型級單位的命名

1、類

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

  1. Class Indicator 

 

(2)當類是一個特性(Attribute)時,以Attribute結(jié)尾,當類是一個異常(Exception)時,以Exception結(jié)尾:

  1. Class ColorSetException  
  2. Class CauseExceptionAttribute 

 

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

  1. Class ScreenClass  
  2. Class SystemClass 

 

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

  1. MustInherit Class IndicatorBase 

 

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

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

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

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

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

 

3、委派類型

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

  1. Delegate Sub DataSeeker (ByVal SeekString As String

 

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

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

 

4、接口

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

  1. Interface ISortable 

 

5、模塊

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

  1. Module SharedFunctionsModule 

 

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

二、方法和屬性的命名

1、方法

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

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

 

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

2、屬性

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

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

 

3、事件

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

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

 

三、變量和常數(shù)

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

  1. Const DefaultConcentration As Single = 0.01 

 

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

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

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

 

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

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

 

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

  1. Dim g As Graphic 

 

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

  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" 

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

#p#

四、前綴

1、對象

1)標準對象

2)自定義對象

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

qianzhui

對象:SysSet

前綴:ss

例子:ssSafety

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

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

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

module

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

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

Owner

五、標簽

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

_A_LABEL_EXAMPLE:

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

六、名字空間

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

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

如:

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

 

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

七、格式化

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

1、塊

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

2、縮進

每個層次直接都應該以Tab進行縮進,而不是Space(空格鍵)。

3、流

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

譬如:

  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、準則

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

'* 這是普通的注釋

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

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

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

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

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

類型和格式

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

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

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

內(nèi)容與格式

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

【編輯推薦】

  1. ASP.NET控件10個最有用的屬性詳解
  2. 一款經(jīng)典的ajax登錄頁面 后臺asp.net
  3. ASP.NET的HTTP模塊和處理程序之對話狀態(tài)
  4. VB程序員如何編寫高質(zhì)量的VB代碼
責任編輯:于鐵 來源: 月光軟件站
相關(guān)推薦

2009-10-26 13:13:17

VB.NET編碼規(guī)范

2009-10-22 11:28:35

VB.NET編碼規(guī)范

2009-07-28 17:03:55

ASP.NET VB.

2009-08-03 17:07:13

ASP.NET編程規(guī)范

2009-07-28 16:39:16

VB.NET的MD5加

2009-10-27 14:49:11

VB.NET命名規(guī)范

2010-01-08 17:00:22

VB.NET變量和常數(shù)

2009-10-12 15:44:26

VB.NET動態(tài)編碼技

2009-11-10 15:30:46

VB.NET編程原則

2009-10-29 14:02:24

VB和VB.NET比較

2009-11-02 17:12:01

VB和VB.NET

2009-10-14 09:27:30

VB.NET編碼算法

2009-10-27 14:32:45

VB.NET類型級命名

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-03 16:57:42

ASP.NET編程規(guī)范

2009-07-27 14:46:16

XML和ASP.NET

2009-07-28 17:17:19

ASP.NET概述
點贊
收藏

51CTO技術(shù)棧公眾號