Code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software, following the reusability principles.
Ad hoc code reuse has been practiced from the earliest days of programming. Programmers have always reused sections of code, templates, functions, and procedures. Software reuse as a recognized area of study in software engineering, however, dates only from 1968 when Douglas McIlroy of Bell Laboratories proposed basing the software industry on reusable components.
Code reuse aims to save time and resources and reduce redundancy by taking advantage of assets that have already been created in some form within the software product development process. The key idea in reuse is that parts of a computer program written at one time can be or should be used in the construction of other programs written at a later time.
Code reuse implies the creation of a separately maintained version of the reusable assets. While code is the most common resource selected for reuse, other assets generated during the development cycle may offer opportunities for reuse: software components, test suites, designs, documentation, and so on.
Doo doo doo do doo
Doo Do doo do doo
Feeling the time is never near
It's clear the clocks are very wrong here
Shadow people come and disappear
Try not to be so all alone
It's hard to hear my stomach when it groans
'Cause as much as it's filled with stone
And my heart just beats in monotone
Doo doo do do doo