,VB   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,VB
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VB > 正文
如何编写高质量的VB代码
[文章信息]
作者:冯睿
时间:2003-01-01
出处:yesky
责任编辑:方舟
[文章导读]
本文描述了如何通过一些技术手段来提高VB代码的执行效率。这些手段可以分为两个大的部分:编码技术和编译优化技术
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

1 2 3  下一页


  简介:

  本文描述了如何通过一些技术手段来提高VB代码的执行效率。这些手段可以分为两个大的部分:编码技术和编译优化技术。在编码技术中介绍了如何通过使用高效的数据类型、减少外部引用等编程手段来提高代码执行速度,减少代码消耗的系统资源。在编译优化技术中介绍了如何正确地利用VB提供的编译选项对在编译时最后生成的可执行文件进行优化。

  前言

  什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。这篇文章汇集了作者在使用VB进行软件开发时积累下来的一些经验,通过一些简单的例子来向你展示如何写出高效的VB代码。其中包含了一些可能对VB程序员非常有帮助的技术。在开始之前,先让我陈清几个概念。

  让代码一次成型:在我接触到的程序员中,有很多人喜欢先根据功能需求把代码写出来,然后在此基础上优化代码。最后发现为了达到优化的目的,他们不得不把代码再重新写一遍。所以我建议你在编写代码之前就需要考虑优化问题。

  把握好优化的结果和需要花费的工作之间的关系:通常当完成了一段代码,你需要检查和修改它。在检查代码的过程中,也许你会发现某些循环中的代码效率还可以得到进一步的改进。在这种情况下,很多追求完美的程序员也许会立马修改代码。我的建议是,如果修改这段代码会使程序的运行时间缩短一秒,你可以修改它。如果只能带来10毫秒的性能改进,则不做任何改动。这是因为重写一段代码必定会引入新的错误,而调试新的代码必定会花掉你一定的时间。程序员应该在软件性能和开发软件需要的工作量之间找一个平衡点,而且10毫秒对于用户来说也是一个不能体会到的差异。

  在需要使用面向对象方法的时候尽量使用它;VB提供的机制不完全支持面向对象的设计和编码,但是VB提供了简单的类。大多数人认为使用对象将导致代码的效率降低。对于这一点我个人有些不同的意见;考察代码的效率不能纯粹从运行速度的角度出发,软件占用的资源也是需要考虑的因素之一。使用类可以帮助你在整体上提升软件的性能,这一点我会在后面的例子中详细说明。

  当你编写VB代码的时候,希望你能把上面几点作为指导你编码的原则。我把文章分为两个部分:如何提高代码的运行速度和编译优化。

  如何提高代码的运行速度

  下面的这些方法可以帮助你提高代码的运行速度:

  1. 使用整数(Integer)和长整数(Long)

  提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是正确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将Single,Double和Currency类型的变量替换为Integer或Long类型的变量,因为VB处理Integer和Long的能力远远高于处理其它几种数据类型。

  在大多数情况下,程序员选择使用Single或Double的原因是因为它们能够保存小数。但是小数也可以保存在Integer类型的变量中。例如程序中约定有三位小数,那么只需要将保存在Integer变量中的数值除以1000就可以得到结果。根据我的经验,使用Integer和Long替代Single,Double和Currency后,代码的运行速度可以提高将近10倍。

  2. 避免使用变体

  对于一个VB程序员来说,这是再明显不过的事情了。变体类型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。通常使用变体类型的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型。

  在这里顺带提一句,对于Object对象也存在同样的问题。请看下面的代码:

Dim FSO
Set FSO = New Scripting.FileSystemObject

  或

Dim FSO as object
Set FSO = New Scripting.FileSystemObject

  上面的代码由于在申明的时候没有指定数据类型,在赋值时将浪费内存和CPU时间。正确的代码应该象下面这样:

Dim FSO as New FileSystemObject


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
,VB相关内容,VB焦点新闻
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,VBAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价