TL;DR: We’ve released an ebook, free to download for all: Software Metrics: A Practical Guide for the Curious Developer. It’s for developers in a hurry — or their managers — who want a practical list of useful software metrics and to get work done.
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
Background on Software Metrics
Is your code tested? Is it readable? How easy is it to add or modify code without introducing bugs? How maintainable is it going to be? Is it easily extensible? Is technical debt creeping up? Is there a way to automatically flag potential issues?
Software metrics are important because they help answer these questions. They provide objective, quantifiable measurements that support the myriad of decisions that developers make daily.
Yet software metrics are not without their flaws and most developers welcome them with about the same enthusiasm as someone expecting a root canal job.
It is true that no single software metric provides hard and fast answers to follow blindly. Instead they provide additional inputs for meaningful conversations during tests and code reviews. Using a combination of them sharpens the developer intuition and contributes towards making software engineering a more predictable affair.
What you’ll learn
The purpose of this article is to provide a quick and easy overview of the most widely used metrics, and how to interpret them.
We’ll look at cyclomatic complexity, code churn, code coverage, code duplication, and a few more. We’ll highlight the ones that matter most and those that don’t. We’ll provide a brief explanation on how to read and interpret them, evaluate their benefits and limitations and look at how they can complement the developer’s qualitative judgement with quantitative input.
If you’re involved in enterprise software development projects and need to maintain code quality to the highest level, this book is for you.
Codacy is used by thousands of developers to analyze billions of lines of code every day!
Getting started is easy – and free! Just use your GitHub, Bitbucket or Google account to sign up.