技术开发 频道

非常好的编码实践:搞砸代码的10种方法

  【IT168 评论】写代码是一个富有创意但又可能让人思想麻痹的任务,不管你是否喜欢你的工作,你总会找一些捷径,但遗憾的是,大部分捷径都违反了非常好的编码实践原则,这些捷径要么会产生BUG,要么会导致数据出错,我的建议是:在编写VBA代码时,不要走捷径。下面是一些常见的错误观念,导致人们选择了错误的捷径,虽然其中一部分只适用于VBA或某种IDE,但大多数都是通用的。

  1、我不需要else子句

  If…then…else,select case等VBA语句都包含了else子句,这个子句后跟随了所有具体的决策条件,这是处理一些带条件事情的最好机会,但开发人员却忽略了这个机会,并认为没必要这么做。包括一个else子句并不难,并且还可以提供一层额外的错误捕捉机会,你可以显示一般性错误,让用户知道预期的决定或行动不会发生,或是通过日志记录下来,用电子邮件发送给管理员或内部开发人员,总之想让事件引起注意,一个未执行的else子句比多个选择更好。

  2、goto是一个有效的语句,我经常使用它

  Goto是一个有效的语句,但使用不当会产生难以驾驭的代码,而且会隐藏错误和拙劣的程序设计,当你不能想出一个更好的策略时,不要轻易使用goto语句,当你真正需要一个简单的重定向程序流时可以使用它,每次敲下goto时都问一下自己,是否有其它方法来处理这个重定向?如果有就不要使用goto(我在VBA开发中就从未使用过goto语句)。

  3、编译器是在浪费时间

  和其它编译器不同,VBA编译器不会生成一个可以脱离Office独立执行的模块,相反,VBA编译器实际上是一个语法检查器,在真实运行之前,编译你的代码是捕捉语法错误简单有效的方法,你为什么要这么做呢?因为语法检查器通常提供更深入的错误信息,因此你可以更快地解决问题。

  4、无任何错误需要处理

  大多数开发人员还没有自信到自己的代码是完美无缺的,但大多数人对错误处理都会掉以轻心,错误处理和你的设计和逻辑一样重要,不要放弃它,相反,在处理错误时应当特别小心,一个未处理的错误通常意味着程序投入使用后,你会接到更多的支持电话,也许程序因这个错误而停止了工作,也许它导致了数据异常,在处理错误时,你可以:

  ◆与你的用户分享一些信息,包括立即纠正错误的说明。

  ◆帮助程序立即从错误中安静地回复,用户永远也不会知道程序曾经发生了错误。

  ◆跟踪错误,以便你进行修复。

0
相关文章