|
厘清重复使用程序代码的各种可行性
面向对象的设计方法之所以大行其道,正是因为这个方法观察到程序代码重复运用(Code Reuse)对生产力所带来的好处。可是,大多数的程序人因为拘泥于面向对象,一想到程序代码的重复运用,往往直接联想到透过继承方式取得的重复运用。
然而,大多数情况下,除非我们设计的是应用程序的框架,或者是某种特殊应用的类别库,否则设计的类别之间并不会存在太多或太复杂的继承阶层关系。
这自然意谓着,透过继承而得到的重用程序代码数量,不致于太多,因此不太可能透过它提升非常多生产力。
可是,当你跳脱出「用继承取得可重复使用的程序代码」的想法后,或许会发现到,重复运用许多在开发过程中会需要的公用程序,也是提高生产力的主要来源。
我留意到一个现象:现在的程序人多半都会利用现成的链接库来协助自己加快开发的脚步,但程序人们鲜少建立自己的链接库。这很奇特,因为在日积月累、诸多项目的开发经验中,总是会查觉到,有一些代码段,总是会一而再、再而三的重复发生。
你的系统中所会运用到的程序代码,依据来源大致上可以区分为三类:一、应用程序所专用,必须重新开发;二、现成的链接库;三、并非前二者,却又很频繁地出现在各项目中。
在你的各个项目中,倘若有那种出现得很频繁、又不存在于现成链接库中的程序代码,却未加以捕捉、整理,那么,对你来说,这些程序代码等于是在每个项目中,都必须重新一一写过。 |