Find a term
Understand maintainability, code structure, and the costs of decisions that make future changes harder. Learn what quality signals can and cannot establish.
Search results
237 termsLaw of Demeter
A guideline that limits how many unrelated object relationships a method navigates directly.
Code quality and technical debtLegacy modernization
Legacy modernization is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtLegacy system
Legacy system is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtLiskov substitution principle
A design principle that requires a subtype to remain valid wherever its declared base type is expected.
Code quality and technical debtLoad testing
Load testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtLocalization testing
Localization testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtMaintainability risk
The likelihood that future changes to a software area will be costly, error-prone, or difficult to validate.
Code quality and technical debtMaintainability testing
Maintainability testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtMethod length
The amount of source text or statements contained in a method or function.
Code quality and technical debtMigration plan
Migration plan is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtModel-based testing
Model-based testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtModular monolith
Modular monolith is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtModule cohesion
The degree to which the elements of a module support one focused purpose.
Code quality and technical debtModule stability
The degree to which a module can change without forcing changes in its consumers.
Code quality and technical debtModule testing
Module testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtMonolith decomposition
Monolith decomposition is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtMutation score
Mutation score is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtNegative testing
Negative testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtNesting depth
The maximum number of control-flow or structural levels nested inside one another.
Code quality and technical debtObservability debt
Observability debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtObsolete code
Obsolete code is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtOpen-closed principle
A design principle that favors extending behavior through stable contracts rather than repeatedly modifying trusted code.
Code quality and technical debtOrphan abstraction
An abstraction that has no clear owner, consumer, or responsibility in the current design.
Code quality and technical debtOrphaned code
Orphaned code is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtOwnership debt
Ownership debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtPairwise testing
Pairwise testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtParallel inheritance hierarchies
A code smell in which adding one subtype in one hierarchy requires adding a matching subtype in another.
Code quality and technical debtParameter count
The number of arguments accepted by a function, method, or constructor.
Code quality and technical debtPenetration testing
Penetration testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtPerformance debt
Performance debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtPerformance testing
Performance testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtPortability debt
Portability debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtPortability testing
Portability testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtPrimitive obsession
A code smell in which domain concepts are represented by generic primitives instead of meaningful types.
Code quality and technical debtProcess debt
Process debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtQuality profile
A named collection of analysis rules and settings applied to a codebase or language.
Code quality and technical debtRecovery testing
Recovery testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtRefactoring backlog
Refactoring backlog is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtRefactoring safety
The confidence that a structural code change preserves externally observable behavior.
Code quality and technical debtRegression testing
Regression testing repeats relevant tests after a software change to detect unintended effects on behavior that previously worked. It can use unit, integration, system, or end-to-end tests selected according to the change and the risks it may affect.
Code quality and technical debtRelease debt
Release debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtReliability testing
Reliability testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtRemove duplication
Remove duplication is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtRename refactoring
Rename refactoring is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtResilience debt
Resilience debt is a software maintenance concern describing a condition that can make future changes, verification, operation, or ownership harder. Its practical importance depends on supported behavior, rate of change, and the consequences of delay.
Code quality and technical debtResilience testing
Resilience testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtResponse for a class
A measure of the number of methods potentially executed in response to a message received by a class.
Code quality and technical debtRework rate
Rework rate is the proportion of work that must be repeated or revised because the earlier result was incomplete, incorrect, or no longer suitable. Its calculation depends on the work unit and the evidence used to identify rework.
Code quality and technical debtRisk-based testing
Risk-based testing is a software testing or test-design practice used to gather evidence about a defined risk, behavior, boundary, or operating condition. It makes the question under test explicit, identifies the inputs and observations that matter, and gives a team a repeatable basis for deciding whether the result is acceptable.
Code quality and technical debtRule suppression
An explicit instruction that prevents a static-analysis rule from reporting a selected code location.
Code quality and technical debt