Content deleted Content added
Pyrite Pro (talk | contribs) Reverting edit(s) by 82.132.213.165 (talk) to rev. 1068636680 by Pyrite Pro: non-constructive (RW 16.1) |
Undid revision 1068637948 by Pyrite Pro (talk) do not restore nonsense to articles |
||
Line 1:
{{tone|date=January 2022}}
'''Code reuse''', also called '''software reuse''', is the use of existing [[software]], or software knowledge, to build new software,<ref>{{cite journal |last=Frakes |first=W.B. |author2=Kyo Kang |s2cid=14561810 |date=July 2005 |title=Software Reuse Research: Status and Future |journal=IEEE Transactions on Software Engineering |volume=31 |issue=7 |pages=529–536 |doi=10.1109/TSE.2005.85 |citeseerx=10.1.1.75.635 }}</ref>
==Overview==
Line 9 ⟶ 6:
[[Ad hoc]] code reuse has been practiced from the earliest days of [[computer programming|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 Labs|Bell Laboratories]] proposed basing the software industry on reusable components.
Code reuse aims to save time and resources and reduce
Code reuse may imply 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.<ref>{{cite web|author1=Lombard Hill Group|title=What Is Software Reuse?|url=http://lombardhill.com/what_reuse.htm|accessdate=22 October 2014|archive-date=23 January 2019|archive-url=https://web.archive.org/web/20190123223128/http://lombardhill.com/What_Reuse.htm|url-status=dead}}</ref>
Line 28 ⟶ 25:
Concerning motivation and driving factors, reuse can be:
* Opportunistic – While getting ready to begin a project, the team realizes that there are existing components that they can reuse.
* Planned – A team strategically designs components so that they
Reuse can be categorized further:
Line 39 ⟶ 36:
* Forked – The client code contains a local or private copy of the reused code, and thus they share a single life cycle and a single version.
Fork-reuse is often discouraged because it
==Systematic==
|