如何编写高质量的VB代码
简介:
本文阐述了如何通过一些技术手段来提高vb代码的执行效率。这些方法可以分为两大部分:编码技术和编译优化技术。在编码技术中,介绍了如何通过使用高效的数据类型和减少外部引用来提高代码执行速度,减少代码消耗的系统资源。在编译优化技术中,介绍了如何正确使用vb提供的编译选项,对编译结束时生成的可执行文件进行优化。
序
什么是高效的软件?一个高效的软件不仅要比相同功能的软件运行得更快,而且要消耗更少的系统资源。本文收集了作者在使用vb开发软件时积累的一些经验,通过一些简单的例子向你展示如何写出高效的vb代码。里面包含了一些可能对vb程序员很有帮助的技术。在我们开始之前,让我介绍一些陈清的概念。
让代码一次成型:在我接触的程序员中,很多人喜欢先按照功能需求写代码,然后在此基础上优化代码。最后,发现他们不得不为了优化而重写代码。所以我建议你在写代码之前先考虑优化。
把握好优化的结果和需要花费的工作之间的关系:通常一段代码完成后,需要进行检查和修改。在检查代码的过程中,你可能会发现某些循环中的代码效率还可以进一步提高。这种情况下,很多追求完美的程序员可能会马上修改代码。我的建议是,如果修改这段代码会让程序运行时间缩短一秒,可以修改。如果只能带来10毫秒的性能提升,就不做任何改变。这是因为重写一段代码肯定会引入新的错误,调试新的代码肯定会花费你一些时间。程序员应该在软件性能和开发软件所需的工作量之间找到一个平衡点,10毫秒对于用户来说是一个察觉不到的差别。
需要的时候尽量使用面向对象的方法;vb提供的机制并不完全支持面向对象的设计和编码,但是vb提供了简单的类。大多数人认为使用对象会降低代码的效率。个人对这一点有一些不同的看法;代码的效率不能单纯从运行速度的角度来考察,软件占用的资源也是需要考虑的因素之一。使用类可以帮助你从整体上提高软件的性能,我将在后面的例子中详细解释。
当你写vb代码的时候,希望你能把以上几点作为你的编码原则。我的文章分为两部分:如何提高代码运行速度和编译优化。
如何提高代码的运行速度
以下方法可以帮助你提高代码的运行速度:
1.使用整数和长整数
提高代码速度最简单的方法就是使用正确的数据类型。您可能不相信,但是选择正确的数据类型可以极大地提高代码的性能。在大多数情况下,程序员可以将single、double和currency类型的变量替换为integer或long类型的变量,因为vb处理integer和long的能力远高于其他数据类型。
大多数情况下,程序员选择使用single或double,因为它们可以保存小数。但是小数也可以保存在整型变量中。举个例子,如果程序中有三个小数位,你只需要把存储在integer变量中的值除以1000就可以得到结果。根据我的经验,用整数和长型代替单、双和货币后,代码的运行速度可以提高近10倍。
2.避免使用变体
这对vb程序员来说是最明显的事情。Variant变量需要16个字节的空来存储数据,而integer只需要2个字节。通常使用variant type的目的是为了减少设计的工作量和代码量,也有程序员为了省事而使用。但是,如果一个软件严格按照规范进行设计和编码,就完全可以避免使用变体类型。
顺便说一下,object对象也存在同样的问题。请参见以下代码:
dim FSO
Set FSO = new scripting . file system object
或
dim FSO as object
Set FSO = new scripting . file system object
上述代码在赋值时会浪费内存和cpu时间,因为在声明时没有指定数据类型。正确的代码应该如下所示:
dimfso作为新的文件系统对象
3.尽量避免在平常的代码中使用property
,最常见最低效的代码就是在可以使用变量的时候重复使用property,尤其是在循环中。要知道访问变量的速度是访问属性的20倍左右。许多程序员在他们的程序中使用以下代码:
dimintcon as integer
for int con = 0 to ubound(somvar())
text 1 . text = text 1 . text & vbcrlf & somevar(int con)
0条评论