读书频道 > 系统 > 其他综合 > Excel专业开发(第2版)
3.2.2 过程化应用程序的组织
2013-01-24 09:03:30     我来说两句 
收藏    我要投稿   

本文所属图书 > Excel专业开发(第2版)

本书基于Excel 2003及之后的版本和VSTO.NET 2008开发平台介绍了Excel专业应用程序开发的各种方法和技术,其内容相对第一版有较大的调整和更新。主要包括Excel各类应用程序的结构和开发方法;Excel应用程序的工...  立即去当当网订购

大多数程序设计者都熟悉过程化的编程方法。用这种方法设计程序时,实际是把整个程序分成多个过程,每个过程完成应用程序的一部分特定功能。整个应用程序可完全按过程化的方式进行开发,也可将过程化的思想与面向对象的思想结合在一起来进行开发,或者完全按照面向对象的方式来进行开发。本节将重点介绍过程化编程的最佳惯例。在第7章“使用类模块创建对象”中,我们将讨论面向对象的编程技术。

1.根据功能和类别将代码组织到模块中

将代码划分为不同的模块,主要目的是提高程序的可读性与可维护性。在过程化程序中,可按照逻辑方式将过程组织为独立的代码模块。常用的惯例是把执行相同功能的过程封装在同一个代码模块中。

提示:VBA对单个标准代码模块的大小有一个未公开的限制。从工程中导出标准代码模块时,其文本文件的大小不能超过64KB。(配套资源上的工具软件VBETools可自动显示模块代码的大小。)如果所使用的单个模块超过了64KB,虽然工程不会马上崩溃,但若持续超过这一限制无疑会破坏应用程序的稳定性。

2.功能分解

功能分解是指将应用程序分解为若干个独立的过程,每个过程负责完成一项特定的功能。虽然理论上可将应用程序设计为一个非常庞大的过程,但是这会使程序很难调试和维护。通过功能分解的方法,可将应用程序设计为由多个过程所构成,各个过程分别负责完成各自的特定功能。这样的设计方式使将程序的可理解性更好,更便于检验程序的有效性,以及进行相应的归档和维护。

3.创建过程的重要原则

若要全面、详细地讨论创建过程的各种原则,至需要一章的内容。所以,在此我们只讨论最重要的一些原则:

封装 在设计过程时,应尽可能包含需要完成的全部逻辑操作。理想的情况是,设计的过程与外界环境没有任何关系。这意味着具有良好封装性的过程可以被复制到其他不同的工程中,而且能像在原工程中那样正常地工作。封装将不同的逻辑操作划分为相互独立的部分,可极大地提高代码的重用性,并简化程序的调试过程。

消除冗余的代码 在编写一个较为复杂的Excel应用程序时,常会发现在许多地方都需要编写一段相同的代码。此时,可将这段代码复制到一个单独的过程中,然后再在应用程序的相应位置调用该过程。当这段代码需要进行有效性检查或更改时,只需要修改过程本身即可,不必再在应用程序中进行多次修改。即使是仅在一处使用的过程,也应该优化其中的代码。上述措施可有效地提高应用程序的代码质量,同时还可提高代码的重用性。当将一些基本操作封装为辅助性的过程后,你会发现在其他的应用程序中也常常要使用这些过程。因此,可将这类代码构建为基本的代码库,以此提高开发应用程序的效率。过程中包含的逻辑操作越完整,测试越全面,开发系统所需的时间也就越少。

单独划分复杂的操作在许多实际应用的程序中,常会发现其业务逻辑的一些部分不仅非常复杂,而且特别适合作为一个应用程序进行单独设计(即该部分不会被重用)。此时,应当将这部分业务逻辑划分出来,设计为独立的程序,以便调试和维护。

精简过程的尺寸 如果包含的语句过多,那么过程的理解、调试和维护都会变得非常困难,即便对于过程的设计者来说也是如此。如果过程中的语句超过了150行,甚至是200行,那么该过程中很可能包含有多个目标,因而可将完成每个目标的代码划分为一个过程,从而用多个过程来代替一个过程,以精简过程尺寸。

限制过程的参数个数 一个过程所接受的参数越多,理解该过程的难度就越大,执行的效率也就越低。一般地,应该将过程的参数限制为不超过5个。不要随意地用全局或模块级变量代替过程参数。在设计过程时,如果发现所需的参数超过5个,那么应当重新设计过程或应用程序的逻辑结构。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.2.1 应用程序的结构
下一篇:3.3.1 代码注释
相关文章
图文推荐
2.7.12 使用仿真器查
2.7.11 栈和寄存器组
2.7.8 出栈
2.7.7 压栈
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站