Visual Basic(下简称VB)的模块和过程是指应用程序代码的框架,而建立这样的框架我们必须进行慎密的考虑。目前已经有许多成熟的方法可以用来创建更好的模块和过程,开发工程时,应该使用这些方法。
一、创建具有很强内聚力的模块
过程的重要性往往比模块的重要性更容易理解,过程是指执行一个统一函数的一段代码。但是对于许多开发人员来说,模块的作用比较难于弄清。模块常常被错误地视为是一个仅仅用于存放过程的容器。有些开发人员甚至把这种思路作了进一步的发挥,将他们的所有过程放入单个模块之中。人们之所以不能正确地认识模块的功能,原因之一是模块的实现实际上并不影响程序的执行。当一个工程被编译时,如果所有过程都放在单个模块中或者放在几十个模块中,这没有任何关系。虽然模块的数量对代码的执行并无太大的影响,但是当创建便于调试和维护的代码时,模块的数量有时会带来很大的影响。
模块应该用来将相关的过程组织在一起。在大多数应用程序中,按照某种共性来组织过程是相当容易的。当模块包含一组紧密关联的过程时,该模块可以说具有强大的内聚力。当模块包含许多互不相关的过程时,该模块便具有较弱的内聚力。应该努力创建内聚力比较强的模块。一个非常大的VB工程可能只包含十几个模块,但是这些模块的组织结构应该非常完善。创建模块时,应该知道"模块化"这个术语的含义是什么。模块的基本目的是创建相当独立的程序单元。从根本上来讲,模块可以添加给另一个工程,并且可以通过直接调用它的公用过程来使用它。这种通用模块并不依赖于全局数据或其他模块中的过程。
二、创建松散连接和高度专用的过程
VB能够非常容易地创建过程,但是这种简易性掩盖了创建完美过程需要高度技巧和科学性的问题。VB对过程所作的限制很少,它并不限制放入过程的语句数目,也不限制一个过程能够执行多少个任务。虽然VB并不强制实施这些限制,但是在这些方面我们应该做一些自我控制,这样才能创建更好的过程。
1、使所有过程都执行专门的任务首先要记住,每个过程都应该执行一项特定的任务,它应该出色地完成这项任务。应该避免创建执行许多不同任务的过程。这常常需要具有一定的远见,因为究竟哪些成分构成一个任务,这并不总是十分明显。创建专用过程有许多好处。首先,调试将变得更加容易。创建专用过程的更重要的好处是可以按计划或者不按计划来修改代码。
2、尽量使过程成为自成一体的独立过程
除了尽量使过程成为专用过程外(这是合乎道理的),还应该尽量使之成为独立的过程。当一个过程依赖于对其他过程的调用时,称为与其他过程紧密连接的过程。紧密连接的过程会使调试和修改变得比较困难,因为它牵涉到更多的因素。当创建的过程依赖于较少的其他过程或者不需要调用其他过程时,那么它就是松散连接的过程。松散连接的过程优于紧密连接的过程,但是我们不可能使每个过程都成为独立的过程。尽管如此,我们应该尽量减少过程之间的连接关系。