In software development (and computer programming in general), code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software,[1][2]: 7 following the 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 copy-pasting (e.g. via snippets),[3] simple functions (procedures or subroutines) or a bunch of objects or functions organized into modules (e.g. libraries)[4][2]: 7 or custom namespaces, and packages, frameworks or software suites in higher-levels.
Code reuse implies dependencies which can make code maintainability harder.[citation needed] At least one study found that code reuse reduces technical debt.[5]
^Frakes, W.B.; Kyo Kang (July 2005). "Software Reuse Research: Status and Future". IEEE Transactions on Software Engineering. 31 (7): 529–536. CiteSeerX 10.1.1.75.635. doi:10.1109/TSE.2005.85. S2CID 14561810.
^ abReddy, Martin (2011). API design for C++. Boston: Morgan Kaufmann. ISBN 978-0-12-385004-1. OCLC 704559821.
^Selaolo, Karabo; Hlomani, Hlomani (2016). "Towards An Algorithms Ontology Cluster: for Modular Code Reuse and Polyglot Programming". Advances in Computer Science. 5: 63 – via Researchgate.
^"4. Code Reuse: Functions and Modules - Head First Python, 2nd Edition [Book]". www.oreilly.com. Retrieved 2022-01-26.
^Feitosa, Daniel; Ampatzoglou, Apostolos; Gkortzis, Antonios; Bibi, Stamatia; Chatzigeorgiou, Alexander (September 2020). "CODE reuse in practice: Benefiting or harming technical debt" (PDF). Journal of Systems and Software. 167: 110618. doi:10.1016/j.jss.2020.110618. S2CID 219502749.
codereuse, also called software reuse, is the use of existing software, or software knowledge, to build new software,: 7 following the reusability principles...
composite reuse principle) in object-oriented programming (OOP) is the principle that classes should favor polymorphic behavior and codereuse by their...
life cycle and include code, software components, test suites, designs and documentation. The opposite concept of reusability is leverage, which modifies...
Reuse is the action or practice of using an item, whether for its original purpose (conventional reuse) or to fulfill a different function (creative reuse...
code is tested and known to work, reusing it may reduce the chance of bugs being introduced. However, reusingcode is not always good practice. Reuse...
minimal codereuse. Using inheritance is recommended mainly when adding to the functionality of existing components, reusing most of the old code and adding...
methodologies such as agile development or adaptive software development. Codereuse GRASP (object-oriented design) Inheritance (object-oriented programming)...
although they have similar semantics: The principles of modularity and codereuse in functional languages are fundamentally the same as in procedural languages...
described as being "included" rather than "inherited". Mixins encourage codereuse and can be used to avoid the inheritance ambiguity that multiple inheritance...
templating frameworks, and session management, and they often promote codereuse. Although they often target development of dynamic web sites, they are...
object-oriented design pattern that allows object composition to achieve the same codereuse as inheritance. In delegation, an object handles a request by delegating...
Coca-Cola Company. Customers entered codes found on specially marked packages of Coca-Cola products on a website. Codes could also be entered "on the go"...
based on GeckoView – an implementation of Gecko that is decoupled as a reusable library, intended to be used as an alternative to the default Android WebView...
ALTRAN, TMG and C++. His seminal work on software componentization and codereuse makes him a pioneer of component-based software engineering and software...
allows the beans to be handled in a more generic fashion, allowing easier codereuse and introspection. This in turn allows the beans to be treated as software...
software libraries, dates to early software systems, where it was used for codereuse. Modular programming per se, with a goal of modularity, developed in the...
adaptive maintenance, corrective maintenance, perfective maintenance, codereuse, and code leverage. Titles of works on program comprehension include Using...
potential advantages to a monorepo over individual repositories: Ease of codereuse Similar functionality or communication protocols can be abstracted into...
related to code-reuse topics such as component-based software engineering. Source-code generation is the process of generating source code based on a...
be reused for a variety of purposes. Types of reuse include: urban reuse, agricultural reuse (irrigation), environmental reuse, industrial reuse, planned...
preconditions. Design by contract can also facilitate codereuse, since the contract for each piece of code is fully documented. The contracts for a module...