A-Z Popular Blog Coding Search »
Related Guides

8 Types of Code Reuse

 , updated on
Code reuse is the use of existing software to deliver functionality. Code is expensive and time consuming to develop and code reuse is considered a fundamental productivity strategy for information technology intensive businesses. The following are common types of code reuse.

Off The Shelf

Using commercial or non-commercial products that exist as opposed to reinventing them.


Extending your current systems, applications, services and libraries as opposed to doing something completely new.


Designing systems and applications to maximize reuse by dividing functionality into useful components that hide complexity behind an interface.


Packages of reusable components designed to be reused by multiple systems and applications.


Wrapping reusable components in a service that can be deployed and operated separately from the rest of your systems and applications. Services reuse both the code and the operational aspects of a technology. For example, one team can operate a market data service for a bank as opposed to having 50 systems and applications that connect to market data feeds.

Platforms & Frameworks

Environments for developing functionality that may include a large number of APIs offered as libraries or services.

Cut & Paste

It is common for developers to copy code with which they are familiar and change it to be something new.


Officially taking code and changing it to be something new by creating a fork in a version control system. For example, a code base for a scientific calculator might be forked to create a financial calculator.
Overview: Code Reuse
The use of existing software to deliver functionality.
Related Concepts


This is the complete list of articles we have written about coding.
Code Refactoring
Code Smell
Complexity Hiding
Deep Magic
Edge Case
Event Processing
Forward Compatibility
IT Artifact
IT Examples
Negative Code
Proof Of Work
Software Design
More ...
If you enjoyed this page, please consider bookmarking Simplicable.


A list of coding considerations and techniques.

Emergence vs Big Design Up Front

The difference between emergence and big-design-up-front.

Deep Magic

An overview of deep magic, a technology term.

Principle Of Least Astonishment

An overview of the Principle Of Least Astonishment.

Pull vs Push

The difference between pull and push technology.

Binary vs Hexadecimal

A comparison of binary and hexadecimal.

End-User Computing

An overview of end-user computing.

Library vs API

The difference between a library and API explained.

Code Freeze

The common types of code freeze.

Software Design

A list of software design terms.

Separation Of Concerns

A definition of separation of concerns.

Backward vs Forward Compatibility

The difference between backward and forward compatibility.

Push Technology

A definition of push technology with examples.

Systems Design

The common elements of a systems design.

Software Design vs Software Architecture

The difference between software design and software architecture explained.

Software Bloat

The common types of software bloat.


A definition of future-proofing with examples.

Systems Analysis

The common types of systems analysis.

Bit Rot

The basic types of bit rot.
The most popular articles on Simplicable in the past day.

New Articles

Recent posts or updates on Simplicable.
Site Map