使用Optional Explicit语句避免程序bug

ZDNet软件频道 时间:2005-01-10 作者:Builder.com |  我要评论()
本文关键词:PeterAitken
很多程序设计语言,比如 C 和 Fortran,都要求在使用变量之前显式地声明变量。VB6 不需要你可以在代码中使用一个没有声明的变量。
本文译自Builder.com,未经许可请勿转载

很多程序设计语言,比如 C 和 Fortran,都要求在使用变量之前显式地声明变量。Visual Basic 6 不需要——你可以在代码中使用一个没有声明的变量。一些 VB 程序员将此吹捧为 VB 的优点,事实上,这是一个严重的缺点。下面我将陈述我的原因。

如果一个 VB 程序不显式地(使用 Dim、Private 或 Public 语句)声明变量,那么每次在代码中遇到新变量名称时 VB 都会在内存中创建一个新变量。如果拼错了一个名称,那么 VB 就不能知道那是一个错误,它只是创建一个新变量并对其初始化,这个过程叫做隐式变量声明。这会导致严重的问题,使得找出程序的 bug 非常困难,比方说一个拼写错误的变量被初始化为0,而导致一个计算没有使用你所期望的正确的变量。

另外一个缺点是这种隐式声明的变量的类型总是 Variant,使用这种变量比使用正确数据类型的变量所产生的程序的效率要低。

所幸的是,有一种方法可以绕过这个问题。如果你在一个模块中包含Option Explicit 语句,VB 就会要求你在那个模块中显式地声明所有变量。在尝试运行程序时,任何拼写错误的变量都会被标记为语法错误,这样你就可以进行必要的更正。我建议你在写程序时把Option Explicit 语句放在每个模块的开头处(即任何过程之前)。你可以通常 IDE 自动的实现这一过程,方法是首先选择Tools | Options,然后在弹出窗口的 Editor 选项卡中选中Require Variable Declaration 选项。


Peter Aitken自从 Visual Basic 1.0 以来就一直在使用 Visual Basic 编程。他编写过很多关于 Visual Basic 以及其他计算机和编程的书以及杂志文章。


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134