Vb编程标准总结

Vb编程标准总结(1)-模块和过程
2010年04月09日 星期五 12:38
1、设计模块和过程
(1)模块和过程是应用程序代码的框架,建立这样的框架是应进行慎密的多方面的考虑。
(2)涉及术语
过程:包括Sub过程,Function过程和Property(属性)过程。是专门用于一个特定
进程 的一串语句,过程可以拥有一组参数,通过这些参数与程序的其他部分进
行通信,也可以返回一个值,供程序的其他部分使用。
Sub 过程:用关键字Sub 说明的一种过程,不返回任何值。
Function 过程:用关键字function 说明的一种过程,返回相应的值。
Property 过程:用关键字Property、Get、 Property Let 或 Property Set 说明的一种过程。用于创建可以读取(Property、Get)或设置(Property Let 或 Property Set)的对象属性。
例程:过程。
模块:Vb 工程中指定的相关的过程集合。
(3)创建有较强内聚力的模块
1、模块应该用来将相关的过程组织在一起。
2、可以为不合群的过程,创建一个综合性收容模
块,并命名。
3、观察是否出现了可以给过程分组的条件,然后就可
以考虑为过程的分组,而创建新模块。
4、通过创建专用模块,能增强模块的内聚力。
5、模块的基本目的是创建相当独立的程序单元。
(4)创建松散连接和高度专用的过程
优点:1、可以按计划或者不按计划来修改代码。
2、调试将变得更加容易。
3、当创建专用过程时,不一定能够在查找的第
一个过程中找到错误,但是可以缩短查找错
误所需的时间。
方法: 在这个领域中,丰富的经验可以提高技能。
久而久之,就会懂得如何维护和修改代码的各个组成部分。
(5)尽量使过程成为自成一体的独立过程
除了尽量使过程成为专用过程外,还应该尽量使之成为独立的过程。
应该尽量减少过程之间的连接关系,方法之一是尽量减少全局变量和模块级变量。
创建专用过程指导原则:
1、将复杂进程放入专用过程。如果应用程序使用复
杂的数学公式,请考虑将每个公式放入它自己的
过程中。
2、将数据输入/输出(I/O)放入专用过程。
3、将专用过程中可能要修改的代码区隔离。
4、将业务规则封装在专用进程中。
(6)尽量减少扇入和扇出
扇入:当某个过程被许多其他过程调用(并且因此 许多其他过程依赖于他)
时,就说明它是个高度扇入的过程,这是件好事。
高度扇入的过程通常是封装很好的过程,它支持代码复用的思路。
扇出:如果一个过程要调用许多其他过程,而它又
是个高度扇出的过程,那么情况就不那么好了。
高度扇出意味着该过程要依赖于许多其他过程才能完成它的工作,
(7)设计模块和过程要达到的目的
1. 创建更加容易调试和维护的过程
2. 创建具有强大内聚力的模块
3. 创建高度专用的过程
4. 创建松散连接的过程
5. 尽量使过程具有独立性
6. 提高过程的扇入性
7 . 降低过程的扇出性

vb编程标准总结(2)--编程原则
2010年04月10日 星期六 08:05
编程原则
1 、为过程和模块赋予表义性强的名字
优点: (1)使代码更加容易理解。
(2)使程序工程的调试和维护工作大大改观。
方法: (1) 给过程命名时应该大小写字母混合使用
(2) 定义过程名时不使用缩写
2、为每个过程赋予单个退出点
优点:使过程更像是黑箱。代码的执行从一个门进来,代码的退出则从另一个门出
因此产生的错误比较少,调试也不太难。
方法:在每个过程中创建一个PROC_EXIT标注。 在这个标注下面,放入所有必要的清除代码和一个
相应的Exit语句(Exit Sub、Exit Function和Exit Property)。
每当你需要退出该过程时,只需加上一个GoTo PROC_Exit,而不必直接调用Exit命令。
3、 为每个过程赋予明确定义的作用域
作用域:工程中的变量或过程的可视性。创建过程 时,始终都应显式地定义它的
作用域。
每个过程的定义都应该以Public、Private或Friend开头。
4、 用参数在过程之间传递数据
(1)应该尽量避免使用模块级变量。
(2)为了减少模块级变量和全局变量,方法之一是将数据作为参数在不同过程之间传递而不是让过程共享全局变量或模块级变量。
(3)为每个参数指定数据类型,创建带有参数的过程时,请务必将每个参数明确说明为一个特定的数据类型。
(4)根据情况传递数据ByVal或ByRef。
(5)始终要对数进行检验,决不要假设你的数据没有问题。
(6)当参数只接受较小的一组值时,请使用枚举值。
5、使用统一和直观明了的方式来调用过程
(1)应该避免省略call这种方法。
(2)调用Sub过程时始终都要使用Call关键字。通过使用Call关键字,更容易将Sub调用与Function调用区分开来
(3)当将变量设置为一个函数的结果时,给调用的Function加上括号,即使它不带任何变元,也应该
加上。
(4)始终都应该检索函数的返回值,即使并不使用它,也应该检索。
好处:Visual Basic允许在调用Function过程时不检索函数的返回值,还是都应该检索返回值,这
可以提高代码的可读性,并且非常有助于调试进 程。
vb编程标准总结(3)代码的注释
2010年04月15日 星期四 15:24
1、目的:
(1)注释能使代码更加容易理解,更加容易跟踪。
(2)能够引导阅读者通过应用程序的曲折之处,能够说明预期的运行结果和可能出现的异常情况。
2、不编写注释的常见理由:
(1)写注释太费时间。
实际上,在编写代码时加上注释根本不需要多少时间。
(2)有些过程很难注释。
通常而言,如果代码的一个部分很难注释,那么如果没有注释,其他人就更难理解你的代码。
(3)复杂而很难注释的代码也许不是什么好代码。一定有更好的解决办法。
3、编程原则
(1) 用文字说明代码的作用
(2)用注释来说明何时可能出错和为什么出错
当估计代码中存在错误并且想要捕获它时,用注释来充分说明为什么要捕获该错误以及估计这是个什么错误。如果可能出现多个错误,可用注释说明其他错误的情况
(3)在编写代码前进行注释
提示:
1给代码加注释的方法之一是在编写一个过程前首先写上注释。
  2可编写完整句子的注释或伪代码。
3一旦你用注释对代码进行了概述,就可以在注释之间编写代码。
4当你编写该过程时,可能需要调整你的注释。过程编写完成后,要将所有伪代码注释转换成标准句子。
(4)纯色字符注释行
(5)增强注释的可读性
1应该使注释便于人们理解。难以理解的注释等于根本没有注释。
2另外,注释属于文字信息。
(6)实际应用举例
1尽量将注释写成完整的语句。
2避免使用缩写。
3将整个单词大写,以突出它们的重要性。
(7)对注释进行缩进,使之与后随的语句对齐
1注释通常位于它们要说明的代码的前面。
2为了从视觉上突出注释与它的代码之间的关系,请将注释缩进,使之与代码处于同一个层次上。
3注释不是代码的附属品,它与代码是共存的关系。
(8)为每个过程赋予一个注释标头
1每个过程都应该有一个注释标头。
2过程的注释标头可以包含多个文字项。
3过程的所有注释标头都应该采用相同的格式化方法,每种信息应该与其他信息明确区分开来。
(9)使用内部注释来说明代码进程
内部注释是最常用和最重要的注释。
具体方法:
1在每个I f语句的前面加上注释。
2在每个Select Case语句前面加上注释。
3在每个循环(包括F o r. . . N e x t循环和D o循环)的前面加上注释。
4在修改了全局变量的每个语句前面加上注释。
(10)用行尾注释来说明变量
说明:这些注释只能用于较短的描述。如果需要较长的描述,请改用内部注释。
vb编程标准总结(4)-错误处理
2010年04月15日 星期四 15:30
对错误的处理
一、错误来源:
1、这些错误可能是编程员的错误
2、环境方面的错误
(比如想要保存的文件太大,磁盘上的空闲空间放不下),
3、时间上的错误
(比如试图给尚未完全加载的窗体设置焦点)。
二、可能出现的程序错误的数量是很大的,但是它们基本上可以分为两种类型:编译错误,运行期错误。
三、Visual Basic的编译选项
VB有两个设置项,在很大程度上影响创建非常坚实代码的能力:
1、请求时编译(Compile On Demand): 只编译运行应用程序所必须的代码。
缺点:会产生某些不被注意的编译错误。
消除请求时编译隐藏的错误方法:
(1)关闭“请求时编译”功能并运行应用程序。这将强制 Visual Basic 检查整个应用程序以查出编译错误。
(2)生成工程的可执行文件。这也将强制 Visual Basic 检查整个应用程序以查出编译错误。
(3)在“运行”菜单中选择 “全编译执行”(按C t r l + F 5键)
2、后台编译(Background Compile):选定Background Compile,就可以在过程和模块被引用时对它们进行编译,不过VB也使用空闲时 间对尚未引用的模块进行编译。
好处:
(1)可以更快地加载未经全面编译的项目,并使编译错误保持在最低水 平。
(2)减少因错误而出现的项目退出运行,节省时间。
四、Err对象
1、Err对象:是个运行期对象,它包含了关于最新错误的信息。当程序运行时遇到一个错误,便形成Err对象的属性。
2、捕获错误
(1) 每个过程都应该拥有错误处理程序,而不管它包含多大的代码
量。最好在代码中放入一个On Error语句,作为代码的第一行,
放在紧靠过程标题的后面和变量说明的前面。
(2)捕获错误可以使用下面两种方法:
  当出现错误时,使用On Error GoTo,转移到别的代码上去执行。
 使用On Error Resume Next语句,不中断代码的执行,也不转移
到别的代码上去执行,而是忽略该错误。
说明:(1) On Error GoTo语句主要用于将代码的执行转移到错误处理程序。为了确保只有当出现错误时才执行错误处理程序,应该在错误处理程序前面加上Exit Sub、Exit Function或Exit Property语句
(2) 使用On Error Resume Next语句代码中的错误将完全被忽略,存在错误的代码行
跳过,然后继续执行下一个语句。错误被忽略并不意味着你无法知道错误已经发生。
当一个语句产生了一个错误之后,尽管没有显示出错消息, Err对象仍然包含关于该错
误的信息。 可以利用它的number和description属性查看。
vb编程标准总结(5)变量及命名
2010年04月15日 星期四 15:51
变量
一、正确地说明变量并且使用始终一致的变量命名规则
目的:
1. 使每个变量的作用一目了然
2. 使每个变量的数据类型和作用域一目了然
3. 使代码中的各个进程更容易理解
4. 使代码的调试更加容易
5. 使变量的存储和处理更加有效
友情提示: 如果可能,每行只说明一个变量。
方法:
1.定义完善的变量具有明确规定的数据类型和作用域。
2.正确使用变量,须使用表义性强的变量名来说明这些变量,并必须为它们赋予焦点。
二、编程原则
1、定义有焦点的变量
(1)有焦点的变量:服务一个明确的目的的变量。创建和使用变量时,应该设法使每个变量服务于一个定义明确的目的。
(2)无焦点的变量:用于多个目的的变量称为。
注意:(1)如果需要对变量执行不相关的操作或计算,最好使用两个有焦点的变量,而不
使用单个无焦点变量。
(2)阅读和调试包含无焦点变量的代码是非常困难的,这种代码本身更可能包含一
些错误。
2、用精心选择的数据类型说明变量
好处:
(1)为每个变量选择最佳的数据类型,就能减少对内存的需求量,加快代码的执行速
度,降低出错的可能性。
(2)不同的数据类型有着不同的资源需求,并且用于变量的数据类型可能会影响根据该
变量进行计算所产生的结果。
注意:
(1)进行数字计算时,必须提防可能出现溢出错误。
(2)如果试图将一个值放入一个变量,而这个值大于该变量的数据类型的最大值,就会产生运行期错误。
三、使用数据类型时应该遵循的规则
1、若要存储任何类型的文本,应使用S t r i n g数据类型。
2、如果只要存放True和False这两个值,应使用Boolean数据类型。
3、存放不含小数位、大于或等于-32768、小于或等于32767的数字,用Integer类型。
4、若存放不带小数位的数字,但是数字值大于或小于Integer允许的值,用Long类型。
5、若要存放包含小数位的数字,应使用Single数据类型。
6、如果需要存放的数字大于Single数据类型能够存放的数字,则使用Double数据类型。
7、若要存放美元金额,请使用C u r r e n c y数据类型。
8、若要存放日期或时间值,请使用D a t e数据类型。
9、只有在绝对必要时才使用Variant数据类型
四:尽量缩小变量的作用域
1变量的作用域:指对于过程和模块来说它的可视性。
2Visual Basic提供了三个作用域等级,过程作用域、模块作用域、全局作用域。
3应该设法尽可能缩小变量的作用域。变量的作用域越小,出现与变量相关的错误可能性就越小。
4如果变量的作用域大于它应有的范围,变量可以继续存在,并且在不再需要该变量后的很长时间内仍然占用资源。
五、变量命名约定
1、不适用basic的数据类型后缀约定。软件开发人员从数据类型后缀改为使用单字符前缀。例如Dim Iwidth As Long
2、匈牙利标记法:使用3字符前缀来表示数据类型和控件类型。
3个字符可以实现充分的多变性,并使前缀合乎逻辑和直观。
优点:代码语句更加容易理解。只要阅读一下语句,就能知道发生的一切,不必观察变量的说明,就能确定代码正在进行的操作。
3、可以并且应该使用前缀来表示变量的作用域。作用域指示字符,置于数据类型前缀
的前面,并且用一个下划线将它们隔开。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值