成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET和ASP.NET編碼規范

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

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

一、類型級單位的命名

1、類

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

  1. Class Indicator 

 

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

  1. Class ColorSetException  
  2. Class CauseExceptionAttribute 

 

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

  1. Class ScreenClass  
  2. Class SystemClass 

 

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

  1. MustInherit Class IndicatorBase 

 

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

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

2、枚舉和結構

同樣必須以名詞或名詞短語命名。***體現枚舉或結構的特點,如:

  1. Enum ColorButtons '以復數結尾,表明這是一個枚舉  
  2. Structure CustomerInfoRecord '以Record結尾,表明這是一個結構體 

 

3、委派類型

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

  1. Delegate Sub DataSeeker (ByVal SeekString As String

 

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

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

 

4、接口

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

  1. Interface ISortable 

 

5、模塊

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

  1. Module SharedFunctionsModule 

 

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

二、方法和屬性的命名

1、方法

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

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

 

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

2、屬性

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

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

 

3、事件

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

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

 

三、變量和常數

常數以表明常數意義的名詞命名,一般不區分常數的類型:

  1. Const DefaultConcentration As Single = 0.01 

 

在嚴格要求的代碼中,常數以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 '* 文件打開對話框 

 

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

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

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

#p#

四、前綴

1、對象

1)標準對象

2)自定義對象

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

qianzhui

對象:SysSet

前綴:ss

例子:ssSafety

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

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

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

module

b) 過程、函數、屬性、事件

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

Owner

五、標簽

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

_A_LABEL_EXAMPLE:

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

六、名字空間

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

公司名.產品名[.組件名的復數]

如:

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

 

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

七、格式化

良好的格式化代碼對我們的瀏覽與維護有相當的好處。

1、塊

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

2、縮進

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

3、流

每個方法、函數、屬性、事件應該有且只有一個入口和一個出口。如果遇見多層嵌套而需要直接跳出的時候,請使用局部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、準則

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

'* 這是普通的注釋

'* 這段代碼在調試正確后加入

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

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

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

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

類型和格式

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

3、方法、函數、事件與屬性

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

內容與格式

一般地,我們要求內容有:名稱、功能、作者、說明、創建、修改、參數與返回。

【編輯推薦】

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

2009-10-26 13:13:17

VB.NET編碼規范

2009-10-22 11:28:35

VB.NET編碼規范

2009-07-28 17:03:55

ASP.NET VB.

2009-08-03 17:07:13

ASP.NET編程規范

2009-07-28 16:39:16

VB.NET的MD5加

2009-10-27 14:49:11

VB.NET命名規范

2009-10-12 15:44:26

VB.NET動態編碼技

2010-01-08 17:00:22

VB.NET變量和常數

2009-10-29 14:02:24

VB和VB.NET比較

2009-11-10 15:30:46

VB.NET編程原則

2009-10-14 09:27:30

VB.NET編碼算法

2009-11-02 17:12:01

VB和VB.NET

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-10-27 14:32:45

VB.NET類型級命名

2009-10-20 14:21:55

VB.NET fnSi

2009-10-14 12:51:41

VB.NET Data

2009-07-29 16:08:07

ASP和ASP.NET

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-07-22 17:45:35

ASP.NET教程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黑人巨大精品欧美黑白配亚洲 | 国产成人99久久亚洲综合精品 | 欧美在线免费 | 国产精品一区二区三区久久久 | 国产一区亚洲二区三区 | 欧美精品在线一区二区三区 | 蜜桃在线一区二区三区 | 男人的天堂在线视频 | 久久蜜桃精品 | 成人深夜小视频 | 中文字幕av一区 | 国产视频一视频二 | 日本中文字幕在线观看 | 在线国产视频 | 国产不卡视频 | 福利视频一区二区 | 中文字幕在线观看一区二区 | 男女羞羞网站 | 在线观看视频福利 | 中文字幕在线一区二区三区 | 最近中文字幕免费 | 久久久久久久一区二区 | 午夜视频一区二区三区 | 四虎影视 | 日本人和亚洲人zjzjhd | 欧美视频xxx| 91精品国产一区二区三区 | 国产精品三级久久久久久电影 | 一久久久 | 中文字幕乱码亚洲精品一区 | 一区二区精品 | 精品视频一区二区 | www久久爱| av在线三级 | 国产偷录视频叫床高潮对白 | 亚洲国产精品网站 | 精品中文字幕在线 | 国产精品久久久久一区二区三区 | 成人免费网视频 | 日韩一区av | 欧美小视频在线观看 |