软件复用的好处有不少html
1、提升工做效率前端
这条自没必要说,好比在项目A中你写一个Ajax模块,A完工后启动了项目B,在B中就能够直接复用项目A的模块了。一个可复用的软件能够为未来节省费用,被服用的频率越高,组件的初始开发成本就越低。git
2、提升软件质量程序员
可复用的软件总比不能复用的有更多的质量保障。由于可复用的软件在不断的复用过程当中把一些bug,缺陷都很快的排除了。所以可复用的软件必定是利于系统的可维护性的。github
按抽象程度的高低,能够划分为以下的复用级别:ajax
利用编辑器(IDE)能够很方便的作到减小抄写代码的人力成本。这多是入门级程序员习惯的,自发的复用软件的形式。把一个写好的工具函数自发的拷贝到另外一个功能或项目中。这种方式有着明显的缺点就是他形成不少重复冗余的代码。尤为在Web前端开发中,JavaScript资源的量大小影响着客户端下载速度。好一点的复用方式能够采用继承。算法
各类算法好比排序都已经获得了大量的研究。几乎不须要你从新去写本身的算法,各类语言一般也实现了这些经常使用算法。所以你只须要直接复用。数组
与算法同样,相似数组、队列、栈、列表等获得了透彻的研究,只须要直接复用。数据结构
以上是传统的复用种类,下面是更高级的复用方式编辑器
设计结果比源程序的抽象级别更高,所以它的复用受实现环境的影响较少,从而使可复用构件被复用的机会更多,而且所需的修改更少。
这种复用有三种途径,第一种途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计;第二种途径是把一个现有系统的所有设计文档在新的软硬件平台上从新实现,也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。
这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事物或某些问题的抽象程度更高的解法,受设计技术及实现条件的影响不多,因此可复用的机会更大。复用的途径也有三种,即从现有系统的分析结果中提取可复用构件用于新系统的分析;用一份完整的分析文档做输入产生针对不一样软硬件平台和其它实现条件的多项设计;独立于具体应用,专门开发一些可复用的分析构件。