VB.net 編碼規範

來源:互聯網
上載者:User
編碼|規範 VB.net 編碼規範
作者: Ninputer   www.ASPCool.com
  在開發中保持良好的編碼規範是十分重要的。我所採用的新的VB.net編碼規範,是一種被證明能明顯改善代碼可讀性,並有助於代碼管理、分類的編碼規範。採用這種編碼規範,能避免如匈牙利命名法帶來的繁長首碼,便於記憶變數的用途。下面的介紹這種編碼規範。
  一、類型級單位的命名
  1、類。
  以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表單
  2、枚舉和結構
  同樣必須以名詞或名詞短語命名。最好體現枚舉或結構的特點,如:
  Enum ColorButtons '以複數結尾,表明這是一個枚舉
  Structure CustomerInfoRecord '以Record結尾,表明這是一個結構體
  3、委派類型
  普通的委派類型以描述動作的名詞命名,以體現委派類型執行個體的功能:
  Delegate Sub DataSeeker (ByVal SeekString As String)
  用於事件處理的委派類型,必須以EventHandler結尾,如:
  Delegate Sub DataChangedEventHandler (ByVal Sender As Object, ByVal e As DataChangedEventArgs)
  4、介面
  與其他類型不同,介面必須要由I作為首碼,並用形容詞命名,突出表現實現介面的類將具有什麼能力:
  Interface ISortable
  5、模組
  模組不是類型,他的名稱除了必須以名詞命名外,必須加以尾碼Module:
  Module SharedFunctionsModule
  上述所有規則的共同特點是,每個組成名稱的詞語都必須是大寫開頭,禁止完全大寫或小寫名稱。
  二、方法和屬性的命名
  1、方法
  無論是函數還是子程式,方法都必須以動詞或動詞短語命名。無需區分函數和子程式,也無需指明傳回型別。
  Sub Open(ByVal CommandString As String)
  Function SetCopyNumber(ByVal CopyNumber As Integer)
  參數需要指明ByVal還是ByRef,這一點寫起來會讓程式邊長,但非常必要。如果沒有特別情況,都使用ByVal。參數的命名方法,參考後面“變數的命名方法”。需要重載的方法,一般不寫Overloads,根據需要編寫重載的方法。
  2、屬性
  原則上,欄位(Field)是不能公開的,要訪問欄位的值,一般使用屬性。屬性以簡潔清晰的名詞命名:
  Property Concentration As Single
  Property Customer As CustomerTypes
  3、事件
  事件是特殊的屬性,只能在事件處理上下文中使用。命名的原則一般是動詞或動詞的分詞,通過時態表明事件發生的時間:
  Event Click As ClickEventHandler
  Event ColorChanged As ColorChangedEventHangler
  三、變數和常數
  常數以表明常數意義的名詞命名,一般不區分常數的類型:
  Const DefaultConcentration As Single = 0.01
  在嚴格要求的代碼中,常數以c_開頭,如c_DefaultConcentration,但最好不要用它,它會帶來輸入困難。
  普通類型的變數,只要用有意義的名字命名即可,不可使用簡稱和無意義的名稱諸如A,x1等,下面給出了良好的例子:
  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 '* 檔案開啟對話方塊
  等等,無需規定某種類型的變數的首碼,只需把類型寫在後面就行了,試對比下列代碼:
  btnCancel.Text = "&Cancel"
  CancelButton.Text = "&Cancel"
  顯然後者更能使閱讀者明白變數的類型是一個按鈕。
  四、標籤
  標籤就是用於Goto跳轉的代碼標識,由於Goto並不推薦使用,所以標籤的使用也比較苛刻。標籤必須全部大寫,中間的空格用底線_代替,而且應該以_開頭,比如:
  _A_LABEL_EXAMPLE:
  如此定義標籤是為了與其他代碼元素充分區別。
  五、名字空間
  通常,一個工程使用一個名字空間,通常不需要用Namespace語句,而是在工程選項的“Root Namespace”中指定,使用根名字空間可以使代碼更加整齊,容易修改,這一點是VB十足的優點。名字空間的文法是:
  公司名.產品名[.組件名的複數]
  如:
  Namespace Ninputer.VirtualScreen
  Namespace Ninputer.CardEditor.CustomeControls
  隨便起一個名字空間的名字絕對不是一個好主意,一定要遵守上述規定。
  六、注釋
  注釋的規則繁多,這裡僅提到其中一點:正常的注釋以'*開頭,單獨的'只用來注釋暫時不用的代碼
  '* 這是普通的注釋
  '* 這段代碼在調試正確後加入
  'If UseHighSpeed(g) = True Then ....
  這樣能夠方便的採用代碼注釋工具控制碼的使用。
  以上已經簡單的介紹了我使用的VB.net代碼規範,這個代碼規範也適用於C#。僅供大家參考。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。