Top Qs
Timeline
Chat
Perspective
Codebase
Source-code collection used to build a system, application, or component From Wikipedia, the free encyclopedia
Remove ads
A codebase (or code base) is a collection of source code that is maintained as a unit. Typically, it can be used to build one or more software components including applications and libraries.
This article needs additional citations for verification. (October 2014) |
A codebase is typically stored in a source control repository of a version control system. A repository can contain build-generated files (which are therefore not source code), but typically such files are excluded from a repository, and therefore, the codebase. A repository may contain data files (such as configuration) that are required for building or running the resulting software. But, version control is not a required aspect of a codebase. Even the Linux kernel was maintained without version control for many years.[1]
When developing multiple components, a choice is made to either maintain a separate, distinct codebase for each or to combine codebases; possibly in a single, monolithic codebase. With a monolithic codebase, changes to (i.e. refactoring) multiple components can often be easier and robust. But, it requires a larger repository and makes it easier to introduce wide-ranging technical debt.[dubious – discuss] With separate codebases, each repository is smaller and more manageable. The structure enforces logical separation between components, but can require more build and runtime integration between codebases, and complicates changes that span multiple components.[2][3][4]
Remove ads
Examples
Some notably large codebases include:
- Google: monolithic, 1 billion files, 9 million source code files, 2 billion lines of source code, 35 million commits in total, 86 TB total size (January 2015)[5]
- Facebook: monolithic, 8 GB (repo 54 GB including history, 2014),[6] hundreds of thousands of files (2014)[3]
- Linux kernel: distributed,[7] over 15 million lines of code (as of 2013[update] and kernel version 3.10)
Remove ads
See also
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads