熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

VB.net編碼規范

2022-06-13   來源: .NET編程 

  在開發中保持良好的編碼規范是十分重要的我所采用的新的VBnet編碼規范是一種被證明能明顯改善代碼可讀性並有助於代碼管理分類的編碼規范采用這種編碼規范能避免如匈牙利命名法帶來的繁長前綴便於記憶變量的用途

  下面介紹這種編碼規范

  類型級單位的命名

  
  
  以Class聲明的類都必須以名詞或名詞短語命名體現類的作用Class Indicator

  當類是一個特性(Attribute)時以Attribute結尾當類是一個異常(Exception)時以Exception結尾
Class ColorSetException
Class CauseExceptionAttribute

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

  當類只用於作為其他類的基類根據情況以Base結尾
MustInherit Class IndicatorBase

  如果定義的類是一個窗體那麼名字的後面必須加後綴Form如果是Web窗體必須加後綴Page
Class PrintForm : Inherits Form * Windows窗體
Class StartPage : Inherits Page * Web窗體

  枚舉和結構

  枚舉和結構同樣必須以名詞或名詞短語命名最好體現枚舉或結構的特點
Enum ColorButtons 以復數結尾表明這是一個枚舉
Structure CustomerInfoRecord 以Record結尾表明這是一個結構體

  委派類型

  普通的委派類型以描述動作的名詞命名以體現委派類型實例的功能
Delegate Sub DataSeeker (ByVal SeekString As String)

  用於事件處理的委派類型必須以EventHandler結尾
Delegate Sub DataChangedEventHandler (ByVal Sender As Object ByVal e As DataChangedEventArgs)

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

  模塊

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

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


  方法和屬性的命名

   方法

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

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

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

  屬性

  原則上字段(Field)是不能公開的要訪問字段的值一般使用屬性屬性以簡潔清晰的名詞命名
Property Concentration As Single
Property Customer As CustomerTypes

  事件

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


  三變量和常數
  
  常數以表明常數意義的名詞命名一般不區分常數的類型
Const DefaultConcentration As Single =

  在嚴格要求的代碼中常數以c_開頭如c_DefaultConcentration但最好不要用它它會帶來輸入困難

  普通類型的變量只要用有意義的名字命名即可不可使用簡稱和無意義的名稱諸如Ax下面給出了良好的例子
Dim Index As Integer
Dim NextMonthExpenditure As Decimal
Dim CustomerName As String

  不能起太長的名字應該盡量簡潔如下面的例子
Dim VariableUsedToStoreSystemInformation As String * 錯誤太復雜了
Dim SystemInformation As String * 正確簡單明了
Dim sysInfo As String * 錯誤過於簡單

  特殊情況可以考慮一個字母的變量
Dim g As Graphic

  對於控件應該指明控件的類型方法是直接在變量後面加以類名
Friend WithEvents NextPageButton As Button * 按鈕
Friend WithEvents ColorChoicerPanel As Panel * 面版
Friend WithEvents CardFileOpenDialog As FileOpenDialog * 文件打開對話框
等等無需規定某種類型的變量的前綴只需把類型寫在後面就行了試對比下列代碼
btnCancelText = &Cancel
CancelButtonText = &Cancel

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


  四標簽
  
  標簽就是用於Goto跳轉的代碼標識由於Goto並不推薦使用所以標簽的使用也比較苛刻標簽必須全部大寫中間的空格用下劃線_代替而且應該以_開頭比如
_A_LABEL_EXAMPLE:
如此定義標簽是為了與其他代碼元素充分區別


  名字空間

  通常一個工程使用一個名字空間通常不需要用Namespace語句而是在工程選項的Root Namespace中指定使用根名字空間可以使代碼更加整齊容易修改這一點是VB十足的優點名字空間的語法是 公司名產品名[組件名的復數]

Namespace NinputerVirtualScreen
Namespace NinputerCardEditorCustomeControls

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


  注釋

  注釋的規則繁多這裡僅提到其中一點正常的注釋以*開頭單獨的只用來注釋暫時不用的代碼
* 這是普通的注釋
* 這段代碼在調試正確後加入
If UseHighSpeed(g) = True Then
這樣能夠方便的采用代碼注釋工具控制代碼的使用

  以上簡單的介紹了我使用的VBnet代碼規范這個代碼規范也適用於C#僅供大家參考


From:http://tw.wingwit.com/Article/program/net/201311/14943.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.