Measuring, improving, and maintaining the health of your codebase.
14 articlesCode coverage measures what percentage of source lines run during tests; test coverage is broader — encompassing requirements, risk scenarios, and integration paths that code coverage misses.
Coding standards are team or industry rules for how code must be written — covering naming, formatting, structure, and error handling — enforced to keep codebases consistent and maintainable.
Clean code is source code that is easy to read, understand, and modify — following principles like single responsibility, meaningful naming, and minimal complexity to reduce long-term maintenance cost.
Code complexity measures how difficult source code is to understand, test, and maintain — high complexity is a leading predictor of bugs, security vulnerabilities, and maintenance cost.
Code coverage measures what percentage of source code is executed during automated testing — a proxy for test suite completeness, with line, branch, and path coverage as the main variants.
Code documentation explains what source code does, why it exists, and how to use it — spanning inline comments, API docs, and architectural guides that make codebases maintainable over time.
Code quality measures how well source code meets standards for correctness, maintainability, security, and performance — the properties that determine whether a codebase is an asset or a liability.
Code refactoring is the process of restructuring existing source code without changing its external behavior — improving readability, reducing complexity, and eliminating technical debt.
A code smell is a symptom in source code that indicates a deeper design problem — not a bug, but a sign that the code will be difficult to maintain, extend, or test.
Continuous quality is the practice of measuring and maintaining code quality as an ongoing operational discipline — tracking metrics, enforcing standards, and remediating regressions automatically rather than in periodic reviews.
Cyclomatic complexity is a quantitative measure of the number of independent paths through source code — a reliable predictor of testing difficulty, bug density, and maintenance cost.
Software rot (bit rot or code decay) is the gradual deterioration of software quality over time — as dependencies age, requirements drift, and unchanged code becomes misaligned with a changing environment.
Technical debt is the accumulated cost of shortcuts, poor design decisions, and deferred quality work in a codebase — it accrues interest in the form of slowed development and increased bug rates.
Test coverage describes how thoroughly a test suite exercises a system — spanning code coverage, requirement coverage, and risk coverage as complementary measures of test completeness.