Code reuse: Difference between revisions

Content deleted Content added
"build new software" is overly specific; could be enhancing
No need for disambiguation prefix
Line 1:
{{short description||Practice of using existing code/software instead of developing it}}
 
In [[software development]] (and [[computer programming]] in general), '''codeCode 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><ref name="Reddy2011" >{{Cite book|last=Reddy|first=Martin|url=https://www.worldcat.org/oclc/704559821|title=API design for C++|date=2011|publisher=Morgan Kaufmann|isbn=978-0-12-385004-1|___location=Boston|oclc=704559821}}</ref>{{Rp|page=7}} following the [[reusability|reusability principles]].
 
Code reuse may be achieved by different ways depending on a complexity of a [[programming language]] chosen and range from a lower-level approaches like code [[Cut, copy, and paste|copy-pasting]] (e.g. via [[Snippet (programming)|snippets]]),<ref>{{Cite journal|last1=Selaolo|first1=Karabo|last2=Hlomani|first2=Hlomani|date=2016|title=Towards An Algorithms Ontology Cluster: for Modular Code Reuse and Polyglot Programming|url=https://www.researchgate.net/publication/305144699|journal=Advances in Computer Science|volume=5|pages=63|via=Researchgate}}</ref> simple functions ([[Procedure (computer science)|procedure]]s or [[subroutine]]s) or a bunch of [[Object (computer science)|objects]] or [[Subroutine|functions]] organized into [[Modular programming|module]]s (e.g. [[Library (computing)|libraries]])<ref>{{Cite web|title=4. Code Reuse: Functions and Modules - Head First Python, 2nd Edition [Book]|url=https://www.oreilly.com/library/view/head-first-python/9781491919521/ch04.html|access-date=2022-01-26|website=www.oreilly.com|language=en}}</ref>{{r|Reddy2011|page=7|}} or custom [[namespace]]s, and [[Package manager|package]]s, [[Framework (computer science)|framework]]s or [[software suite]]s in higher-levels.