vb.net

位置:IT落伍者 >> vb.net >> 浏览文章

VB.net编码规范


发布日期:2020年03月27日
 
VB.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#仅供大家参考

               

上一篇:用VB.net2008打造你的影音播放器[2]

下一篇:使用VB.NET开发自定义Windows控件