Glossary
Plain-language definitions for the terms that come up when you audit a legacy codebase and plan the move off it.
Legacy Codebase Audit- Anti-Corruption LayerRead Anti-Corruption Layer
A translation boundary that keeps a new component from adopting a legacy system's data model, terminology, or interface. It allows both systems to communicate during an incremental migration.
- Branch by AbstractionRead Branch by Abstraction
A technique for replacing a component behind a shared abstraction while old and new implementations coexist. It allows a large legacy change to be delivered through small steps on the main development line.
- Characterization TestRead Characterization Test
An automated test that records what existing software currently does. It gives legacy refactoring a behavioural baseline without assuming that every observed result is correct or desirable.
- Code CouplingRead Code Coupling
The degree to which parts of a software system depend on each other's implementation or behaviour. Strong coupling can make a local change spread across a legacy codebase.
- Code HotspotRead Code Hotspot
A part of a codebase that changes frequently and carries significant complexity or defect risk. Hotspot analysis helps an audit focus attention where maintenance pressure and difficult code overlap.
- Cyclomatic ComplexityRead Cyclomatic Complexity
A metric based on the independent paths through a unit of code. In a legacy audit, it helps locate logic that may be difficult to understand, test, and change safely.
- Dependency GraphRead Dependency Graph
A map of the relationships between modules, services, libraries, and data stores in a software system. It helps a legacy codebase audit reveal what a proposed change can affect.
- RefactoringRead Refactoring
A disciplined change to the internal structure of existing code without changing its observable behaviour. In a legacy codebase, refactoring makes selected areas easier to understand, test, and modify.
- Strangler Fig PatternRead Strangler Fig Pattern
An incremental migration pattern that routes selected capabilities from a legacy system to new components until the old implementation can be retired. It avoids replacing the whole system in one release.
- Technical DebtRead Technical Debt
The accumulated cost of past shortcuts in a codebase. In a legacy system it is the single biggest thing an audit has to measure before you refactor.
- Test CoverageRead Test Coverage
Evidence about which parts of a legacy codebase execute during automated tests. It helps a migration team locate protected behaviour and areas where changes need additional verification.
Legacy Codebase Audit
The full picture on auditing a legacy codebase and migrating off it.