VBdotNet编码规范

合集下载

DotNet编码规范

DotNet编码规范

.NET编码规范文档信息文档编号:.NET编码规范文档名称:.NET编码规范文档类别:文档模板文件密级:机密目录1 概述 (1)1.1 编写目的 (1)1.2 预期读者 (1)1.3 适用范围 (1)2 代码规范举例 (1)3 命名指南 (1)4 大写样式 (1)5 缩写 (2)6 命名空间命名指南 (3)7 类命名指南 (4)8 接口命名指南 (5)9 参数命名指南 (7)10 方法命名指南 (7)11 属性命名指南 (8)12 措词 (11)1概述1.1编写目的本文描述了.NET开发中的有关包、类、接口、方法、实例变量、变量和常量的命名规则,用于规范.NET编程过程中的命名和代码书写规范。

1.2预期读者开发组全体成员。

1.3适用范围适用于开发组所有基于.NET开发的项目2代码规范举例3命名指南一致的命名模式是托管类库中可预知性与可发现性最重要的元素之一。

对这些命名指南广泛的使用和理解将消除许多最常见的用户问题。

本主题提供.NET Framework 类型的命名指南。

对于每个类型,还应该注意关于大写样式、区分大小写和措词的一些通用规则。

4大写样式使用下面的三种大写标识符约定。

Pascal 大小写将标识符的首字母和后面连接的每个单词的首字母都大写。

可以对三字符或更多字符的标识符使用Pascal 大小写。

例如:BackColorCamel 大小写标识符的首字母小写,而每个后面连接的单词的首字母都大写。

例如:backColor大写标识符中的所有字母都大写。

仅对于由两个或者更少字母组成的标识符使用该约定。

例如:System.IOSystem.Web.UI可能还必须大写标识符以维持与现有非托管符号方案的兼容性,在该方案中所有大写字母经常用于枚举和常数值。

一般情况下,在使用它们的程序集之外这些字符应当是不可见的。

5缩写为了避免混淆和保证跨语言交互操作,请遵循有关区缩写的使用的下列规则:∙不要将缩写或缩略形式用作标识符名称的组成部分。

全方位分析VB.NET编码规范

全方位分析VB.NET编码规范

全方位分析编码规范•全方位分析编码规范•这里介绍新的编码规范,是一种被证明能明显改善代码可读性,并有助于代码管理、分类的编码规范。

采用这种编码规范,能避免如匈牙利命名法带来的繁长前缀,便于记忆变量的用途。

学习时,你可能会遇到编码规范问题,这里将介绍编码规范问题的解决方法,在这里拿出来和大家分享一下。

我所采用的新的编码规范,是一种被证明能明显改善代码可读性,并有助于代码管理、分类的编码规范。

采用这种编码规范,能避免如匈牙利命名法带来的繁长前缀,便于记忆变量的用途。

下面的介绍这种编码规范。

一、类型级单位的命名1、类。

以Class声明的类,都必须以名词或名词短语命名,体现类的作用。

如:Class Indicator当类是一个特性(Attribute)时,以Attribute结尾,当类是一个异常(Exception)时,以Exception结尾:Class ColorSetExceptionClass CauseExceptionAttribute当类只需有一个对象实例(全局对象,比如Application等),必须以Class结尾,如Class ScreenClassClass 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 ISortable5、模块模块不是类型,他的名称除了必须以名词命名外,必须加以后缀Module:Module SharedFunctionsModule上述所有规则的共同特点是,每个组成名称的词语都必须是大写开头,禁止完全大写或小写的名称。

计算机源代码编写规范(VB编码规范) [文档在线提供]

计算机源代码编写规范(VB编码规范) [文档在线提供]

VB编码规范VB编码规范 (1)1目的 (1)2适用范围 (1)3规范内容 (2)3.1最低限制的编程规约 (2)3.2对象的命名基准 (2)3.3控件的前缀 (2)3.4数据访问对象 (DAO,ADO)的前缀 (3)3.5菜单的前缀 (4)3.6其他控件前缀的选择 (4)3.7常量和变量的命名基准 (5)3.8变量的有效范围 (5)3.9变量有效范围的前缀 (5)3.10常量 (6)3.11变量 (6)3.12变量的数据类型 (6)3.13说明变量和过程用途的名字 (7)3.14用户自定义类型 (7)3.15代码编写规约 (7)3.16代码注释规约 (7)3.17代码的形式 (8)3.18常量的分组化 (9)3.19& 运算符和 + 运算符 (9)3.20MsgBox、InputBox、以及 SQL 查询字符串的作成 (9)1目的规范ASP代码编写人员的编程工作。

2适用范围本规约是科大量星的基本编程规约,用于Visual Basic编程。

编程规约不是程序的逻辑,而是作为统一程序的物理结构和外观的基准规约。

编码是如果遵守编程规约,那么代码的阅读理解和维护都将会变成一种乐趣。

编程规约的内容如下:工程,变量以及过程的命名基准代码的惯用标签和注释的标准形式间隔,记述形式以及缩进编程规约设定的理由是,如果一贯使用某种编程规约,应用程序的风格和结构都是标准化的,代码将很容易理解和维护。

3规范内容3.1最低限制的编程规约作为通用的编程规约,规定最低限制的必要条件。

为实现这个目标,同时也是为了程序,程序的逻辑以及车工序的流程能自由的做成。

该规约推荐的基准是一个简单的参考,没有提供对全部的对象和控件的规定。

另外也没有规定注释的全部类型。

对应于工程和组织的各自要求条件,添加以下的要素作为基准:公司内部开发的或由第三方处购入的特殊对象和控件的命名基准表示组织的事业内容和设施的变量名对于工程和公司,容易理解和容易阅读作为一个重要的要素考虑赋予对象具有一个一惯性使用的前缀的名字,对于方便容易的理解对象的种类是必要的。

VB编码规范

VB编码规范

VB编码规范必须打开设置选项的”要求变量声明”,”对齐控件到网格”,”自动缩进”开关。

Tab的宽度统一为4个空格,网格单位一律设为:width 50 height 50。

命名工程ActiveX控件和DLL工程命名格式为(….Lib),EXE工程直接命名,如果是通用组件工程,直接命名,如果是项目或产品工程,则使用项目或产品缩写作为前缀。

如:XWY….Lib。

工程命名不必缩写,为了表达意思和用途,可以尽可能地长,而且命名格式采用 (名词) 、 (形容词 + 名词) 或 (名词 + 动作的名词形式)。

如:XWYStockOperationLib或XWYStockLib。

(注意:在任何时候,不要使用中文命名,包括文件夹,文件名,函数名,变量名。

除非文件需要和用户交互!)变量变量命名不推荐采用匈牙利命名法,除非命名会和关键字产生冲突的时候,才采用类型缩写+变量实名的匈牙利命名法。

一般情况下,变量命名应该简单,尽量使用缩写。

如果是一般的值类型,如integer string,则直接使用变量用途命名,尽量使用全名:Dim name As StringDim count As Interger对于一般的临时性变量定义,应该尽可能地简单,如:Dim i As IntegerFor i = 0 to 100Next I如果是类对象或自定义类型对象,则在单一使用情况下使用类名称或自定义类型名称的简写来命名:Dim em As EnityManager如果非单一使用,则使用类型名称缩写为前缀,即使用匈牙利命名法:Dim emRead As EntityManagerDim emSave As EntityManager(注意:所有前缀都全部小写,后面的单词首字母大写)缩写规则如下:如果名称由多个单词组成,则取每个单词的首字母,如EntityManager缩写为em,ProcedureManager缩写为pm。

如果名称由一个单词组成,则对单词进行分段取首字母,如Entity缩写为et。

DotNetBarcode.vb

DotNetBarcode.vb
Private lRSBlock As Byte()
Private myAddCheckDigit As Boolean
Private myBackGroundColor As Color
Private myBarColor As Color
Private myDebugInfoEvenColor As Color
Private lQRColorFormatInformation As Color
Private lQRColorQuitZone As Color
Private lQRColorSmallMark As Color
Private lQRColorTimingPattern As Color
Me.JanPreChar = New String(11 - 1) {}
Me.JanPatternLeftOdd = New String(11 - 1) {}
Me.JanPatternLeftEven = New String(11 - 1) {}
Private lFormatFirstY As Byte()
Private lFormatSecondX As Byte()
Private lFormatSecondY As Byte()
Private lQRBackColorBigMark1 As Color
Rotate270 = 270
Rotate90 = 90
End Enum
Public Enum SaveFileTypes
' Fields
BitMap = 1
Emf = 2
Gif = 3
Private lQRQuitZone As Integer

DotNet项目组编码规范

DotNet项目组编码规范

一.程序代码的注释1.存储过程的头部注释每一个存储过程都要写注释,写在最前面。

如/*Author: BillCreate Time: 2003-06-16 17:04Last Modify Time: 2003-06-16 17:13Version: 1.0.01Action describe:Memo:*/2.存储过程的代码内部注释存储过程的内部需要视情况添加注释,简单说明其功能、设计思想、算法等等。

如:/* SET NOCOUNT ON */3. CS文件的头部注释每一个.CS文件都要写注释,写在CS文件的最前面。

如/*File Name(文件名): ClientServiceS.csStorage Path(存储路径): Capitalnet_MIS\EntityDAO\Author(作者): BillCreate Time(建立日期及时间): 2003-06-16 17:04Last Modify Time(最后修改日期及时间): 2003-06-16 17:13File Version(本文件版本号):X.X.XXX 1.0.01File Action describe(文件功能描述):客户服务实体访问层File Memo(备注):*/4.类的注释为你定义的类写详细的注释,包括作者、时间、版本修订信息、基本的算法,如:/// <summary>/// 类的简单描述/// </summary>5.类成员的注释每一个类的成员,如变量、属性等都要加相应的注释。

6.方法的注释为你定义的每一个函数写详细的注释,包括输入输出参数说明、返回值说明、函数功能说明:/// <summary>/// 取得本帐期的帐单/// </summary>/// <param name="contractGuid">合同Guid</param>/// <param name="date">本帐期日期</param>/// <returns>帐单列表</returns>public static ContractPaidListData CalculateThisPaid(string contractGuid,DateTime date){ }7.代码内部的注释关键代码必须加注释,简单说明其功能、设计思想、算法等等。

dotNETCore:编码规范

dotNETCore:编码规范在项目开发过程中,由于时间紧、任务重,很容易导致面向功能编程。

实现相同的功能,代码可以写的很优雅,也可以写的很晦涩和复杂。

现在的工作,都需要进行团队协作,代码就需要有一定的规范进行指引,因为我们需要写出让人可以轻易读懂的代码,而不仅仅是机器。

规范没有绝对的标准,遵循大部分人都认可的一种方式就可以了,保持统一。

比如在 dotNET Core 中,我们可以参考下 dotNET Core 的源码,最终制定一个适合团队的规范即可。

下面是我理解的正确的一些规范:基本准则1、命名的规范分为两种:Pascal(大驼峰)和驼峰(小驼峰),示例如下:· Pascal:UserName· 驼峰:userName2、命名要有意义,需要看到名称知其含义。

少用拼音和匈牙利命名法。

示例Int price=20; √UserInfo userInfo=GetUserInfo(userId); √Int p=20; ×Int intPrice=20; ×3、对于类的成员变量,用this关键字,增强代码可读性。

4、对于基类的成员变量,用base关键字,增强代码可读性。

名称规范好的名称可以让我们减少很多不必要的注释,可以让代码阅读者很容易就理解代码的意思。

但命名不是一件容易的事情,在命名的时候,通常伴随着我们对代码逻辑的思考。

比如:如果你不能给一个函数很准确地命名,那可能这个函数的职责不单一,做的事情太多,才导致一个名称很难概括,意味着代码可能需要重构。

好的命名是我们写好代码的基础。

命名空间命名空间采用Pascal命名法:namespace Fw.Application{}namespace Fw.SmartFlow.Acitivity{}实际工作中,我们会将很多逻辑上属于同一类的文件,在物理上分成不同的目录,这时建议修改命名空间为相同的命名空间。

类类采用Pascal命名法:public class UserService{}类是对属性和方法的封装,类有很多的种类:•跟数据库表对应的实体类•处理业务逻辑的业务类•提供扩展方法的扩展类•接口层的数据传输类不同的种类可以约定俗成地进行一些名称的约束,比如扩展类用Extension 结尾、接口层的使用 Request、Response 结尾,等等,这样在阅读代码是就知道什么类型的职责是什么。

3.1 Visual Basic程序的语句和编码规则.


3.Variant 数据类型
5.对象(Object)类型的数据
对象类型的数据主要是以变量形式存在的,Object变量通过32位 (4字节)来存储,该地址可以引用应用程序中的对象。利用Set语 句,声明为Object的变量可以被赋值并被任何对象所引用。
6.变体(Variant)数据类型
Variant数据类型又称为万用数据类型,它是一种特殊的、可以表示 所有系统定义类型的数据类型。变体数据类型对数据的处理可以根 据上下文的变化而变化,除了定长的string数据及用户自定义的数据 类型之外,可以处理任何类型的数据而不必进行数据类型的转换, 如上所述的数值型、日期型、对象型、字符型的数据类型。Variant 数据类型是VB对所有未定义的变量的缺省数据类型的定义。通过 VarType函数可以检测Variant型变量中保存的具体的数据类型。
5.结束语句
结束语句用来正常地结束一个程序的执行。结束语句的格 式为:
End 如下面的程序:
Private Sub Timer1_Timer() End
End Sub
6.With 语句
With 语句的语法为: With 对象
[语句块] End With
With 语句可以对某个对象执行一系列的语句,而不用重复 指出对象的名称。例如,要改变MyLabel标签对象的多个属性, 可以在 MyLabel控制结构中加上属性的赋值语句,这时候只 是引用对象一次而不是在每个属性赋值时都要引用它。
……
End Enum
3.3 变量与常量
3.3.1 变量
变量:程序运行过程中其值可以改变的量称为变量 。
变量的形式:属性变量和内存变量。
1.变量的命名规则
(1)VB变量名只能用字母、数字和下划线组成,变量名 中不能包含小数点。 (2)VB变量名的第一个字符必须是字母,最后一个字符 可以是类型说明符,且组成变量名的字符数不得超过255 个字符。 (3)不得使用VB的保留名或保留名后加上类型说明符来 作为变量名。 (4)变量名在同一个范围内必须是唯一的。 (5)为了增加程序的可读性,一般在变量名前加上一个表 示该变量数据类型的前缀。

DOTNET代码规范

DOTNET代码规范1目的编写本规范的目的是统一C#代码的风格,提高代码的可读性、易维护性和质量。

2适用范围本规范适用于公司所有新项目的C#代码编制和审核。

具体项目中的更明确的规定可以覆盖本规范中的相应要求。

3工作指导3.1 源文件1.一个源文件中原则上最多包含一个类,该源文件的命名同所包含的类的命名;2.除了工具自动生成的代码外,源代码文件的长度原则上不能超过500行;3.2 代码格式1.所有的缩进为4个空格,使用的默认设置。

在代码中垂直对齐左括号和右括号。

if(x==0){Response.Write("用户编号必须输入!");}不允许以下情况:if(x==0) {Response.Write("用户编号必须输入!");}或者:if(x==0){ Response.Write("用户编号必须输入!");}2.为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏3.当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。

4.每一行上放置的语句避免超过一条。

5.在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。

例:int j = i + k;而不应写为int j=i+k;6.将大的复杂代码节分为较小的、易于理解的模块。

7.编写SQL 语句时,对于关键字使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。

8.将每个主要的SQL 子句放在不同的行上,这样更容易阅读和编辑语句,例如:SELECTFirstName, LastNameFROM CustomersWHERE State = 'WA'3.3 注释(Comment)规范注释规范包括:模块(类)注释规范、类的属性、方法注释规范、代码间注释3.3.1模块(类)注释规范模块开始必须以以下形式书写模块注释:///*******************************************************///模块编号:<模块编号,可以引用系统设计中的模块编号>///作用:<对此类的描述,可以引用系统设计中的描述>///作者:作者中文名///编写日期:<模块创建日期,格式:YYYY-MM-DD>///******************************************************如果模块有修改,则每次修改必须添加以下注释:///*******************************************************///Log编号:编号,从1开始一次增加>///修改描述:<对此修改的描述>///作者:修改者中文名///修改日期:<模块修改日期,格式:YYYY-MM-DD>///******************************************************3.3.2类属性注释规范在类的属性必须以以下格式编写属性注释:/// <summary>/// 属性说明///</summary>3.3.3方法注释规范采用c#代码标准注释方式/// <summary>/// 方法说明/// </summary>/// <param name="参数名称">参数说明</param>/// <returns>返回值说明</returns>For exam:/// <summary>/// 当前记录总页数/// </summary>/// <param name="PageSize">每页显示记录数</param>/// <param name="intRowsCount">当前记录总数</param>/// <returns>当前记录总页数</returns>public int getPageCount(int PageSize,int intRowsCount){int iMax;if(intRowsCount%PageSize>0) iMax=(intRowsCount/PageSize)+1;else iMax=intRowsCount/PageSize;return iMax;}3.3.4代码间注释规范代码间注释分为单行注释和多行注释:单行注释://<单行注释>多行注释:/*多行注释1多行注释2多行注释3*/代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。

dotnet编码规范

.NET编码规范数据库规范辅助工具数据库设计、生成脚本、生成测试数据、ER图等,利用Sybase PowerDesign 12工具,保证所有的新建、修改、删除、添加的操作都生成包含日期标识的脚本文件,并上传到服务器版本控制器中设计规范✓设计表格默认包含4个字段:CreatedBy、CreateDate、LastUpdatedBy、LastUpdateDate(字段类型分别为nvarchar(20)、datetime、nvarchar(20)、datetime)✓所有可能包含中文的字段的字段类型设定为“nvarchar”,以防止在英文操作系统或数据库默认排序规则为非“Chinese_PRC_CI_AS”时,“varchar”类型可能造成的数据库乱码问题✓标识性字段的字段类型设定为“bit”,例如:“是否有效(IsEnable)”✓建议在可能会删除数据的表格设定一个删除标识,程序里,实现逻辑删除,而非数据库永久删除,除非客户需要✓当主键由一个以上字段构成时,建议使用自增ID作为主键,以便于分页。

✓通用性较高的表格建议添加几个用户自定义字段✓不强制做外键关联,但需要在程序里进行控制命名规范✓表名规范:数据库表格分为两种类型:系统表格与项目表格,系统表格均以“sys_”开头,后面跟相应意义的单词或缩写,例如系统数据字典大类为“sys_pubtype”。

1) 所有字符均由字母与“_”组成,若第二段较长可考虑用“_”隔成三段2) 所有字符均为小写✓字段名规范:字段名由若干单词构成,每个词的首字母大写。

例如:“TypeId”1)所有表示自增的字段结尾为“Id”2)字段名只能使用字母与数字✓视图名规范:规则与表名一致,但所有的视图需要加上后缀“_view”✓存储过程名规范:规则与表名一致,但所有的存储过程需要加上后缀“_proc”✓函数名名规范:规则与表名一致,但所有的函数需要加上后缀“_func”其他规范✓注释规范:存储过程的参数名作出用途注释,每个逻辑块的起始作出功能性注释,返回对象、类型作出注释✓缩进注释:默认使用“Tab”进行缩行项目规范辅助工具✓版本控制工具:SVN、Source Safe(6.0)✓代码生成工具:CodeSmith(Professional 3.2)设计规范✓说明1)目前框架使用MVC模式,每个解决方案分为一个网站和五个项目,项目包含IBRSCore、IBRSBusiness、Model、DAL、BLL,项目依赖关系依次递增。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文档编号: S×××-
<软件开发编码规范 >
类:
规范Visual BASIC .net 编码规范
Version: 1.0
文档撰写部门:软件开发部
撰写人(签名):马宁
完成日期:2002年10月23日
本文档使用部门:■主管领导■项目组
■维护人员□用户□客户(市场)评审负责人(签名):
评审日期:
修订历史记录
目录
1.编写目的 (4)
2.类型级单位的命名 (4)
2.1类 (4)
2.2枚举和结构 (4)
2.3委派类型 (4)
2.4接口 (5)
2.5模块 (5)
3.方法和属性的命名 (5)
3.1方法 (5)
3.2属性 (5)
3.3事件 (5)
4.变量和常数 (5)
5.标签 (6)
6.名字空间 (6)
7.注释 (6)
1. 编写目的
采用编程标准可以使项目更加顺利地完成。

即:
·提高程序可读性,使程序员可以了解任何代码,弄清程序的状况
·使新加盟的程序员可以很快的适应环境
·防止新手一次次的犯同样的错误
·在一致的环境下,减少出错机会
2. 类型级单位的命名
2.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.2 枚举和结构
同样必须以名词或名词短语命名。

最好体现枚举或结构的特点,如:
Enum ColorButtons '以复数结尾,表明这是一个枚举
Structure CustomerInfoRecord '以Record结尾,表明这是一个结构体
2.3 委派类型
普通的委派类型以描述动作的名词命名,以体现委派类型实例的功能:
Delegate Sub DataSeeker (ByVal SeekString As String)
用于事件处理的委派类型,必须以EventHandler结尾,如:
Delegate Sub DataChangedEventHandler (ByVal Sender As Object, ByVal e As DataChangedEventArgs)
2.4 接口
与其他类型不同,接口必须要由I作为前缀,并用形容词命名,突出表现实现接口的类将具有什么能力:
Interface ISortable
2.5 模块
模块不是类型,他的名称除了必须以名词命名外,必须加以后缀Module:
Module SharedFunctionsModule
上述所有规则的共同特点是,每个组成名称的词语都必须是大写开头,禁止完全大写或小写的名称。

3. 方法和属性的命名
3.1 方法
无论是函数还是子程序,方法都必须以动词或动词短语命名。

无需区分函数和子程序,也无需指明返回类型。

Sub Open(ByVal CommandString As String)
Function SetCopyNumber(ByVal CopyNumber As Integer)
参数需要指明ByVal还是ByRef,这一点写起来会让程序变长,但非常必要。

如果没有特别情况,都使用ByVal。

参数的命名方法,参考后面“变量的命名方法”。

需要重载的方法,一般不写Overloads,根据需要编写重载的方法。

3.2 属性
原则上,字段(Field)是不能公开的,要访问字段的值,一般使用属性。

属性以简洁清晰的名词命名:
Property Concentration As Single
Property Customer As CustomerTypes
3.3 事件
事件是特殊的属性,只能在事件处理上下文中使用。

命名的原则一般是动词或动词的分词,通过时态表明事件发生的时间:
Event Click As ClickEventHandler
Event ColorChanged As ColorChangedEventHangler
4. 变量和常数
常数以表明常数意义的名词命名,一般不区分常数的类型:
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"
显然后者更能使阅读者明白变量的类型是一个按钮。

5. 标签
标签就是用于Goto跳转的代码标识,由于Goto并不推荐使用,所以标签的使用也比较苛刻。

标签必须全部大写,中间的空格用下划线_代替,而且应该以_开头,比如:
_A_LABEL_EXAMPLE:
如此定义标签是为了与其他代码元素充分区别。

6. 名字空间
通常,一个工程使用一个名字空间,通常不需要用Namespace语句,而是在工程选项的“Root Namespace”中指定,使用根名字空间可以使代码更加整齐,容易修改,这一点是VB十足的优点。

名字空间的语法是:
公司名.产品名[.组件名的复数]
如:
Namespace Ninputer.VirtualScreen
Namespace Ninputer.CardEditor.CustomeControls
随便起一个名字空间的名字绝对不是一个好主意,一定要遵守上述规定。

7. 注释
注释的规则繁多,这里仅提到其中一点:正常的注释以'*开头,单独的'只用来注释暂时不用的代码
'* 这是普通的注释
'* 这段代码在调试正确后加入
'If UseHighSpeed(g) = True Then ....
这样能够方便的采用代码注释工具控制代码的使用。

相关文档
最新文档