Source line of code (SLOC) – what’s best for productivity?

Latest

Monorepo with Static Code Analysis

Monorepo is short for monorepository. With it, code for many projects is stored in the same repository. I like to use...

Automated Code Review Benefits: Webinar

Our sales team member Matt Kohler recently gave a presentation on code review benefits with his "Benefits of Automated Code Review" webinar....

Codacy at DevOps Jenkins World

Gain key insight on the state of DevOps and come together with the global Jenkins community... The Codacy team...

Codacy announces raising $7.7M in funding

Today we’re excited to make a funding announcement.  We have raised $7.7M in funding.  Join Capital along with existing investors EQT Ventures, Armilar Venture...

DNS problems scaling with Kubernetes

Here at Codacy, everyone has been working really hard in the last few months to move all of our services to Kubernetes. And it...

How to write legible QA tests

Our quality-minded software engineer shares best practices for writing legible QA tests.

“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”

– Bill Gates

This discussion of SLOC, or, source line of code (which is also known as lines of code, or, LOC) — is a measure of the number of lines of the program’s source code. It is also an answer to a question on Quora and is  part of our ebook on code quality metrics.

There are at least two different measures of SLOC:
The “physical” SLOC. That’s the total number of lines in the source code. The “logical” SLOC. That’s the number of lines that will be executed.

Intuitively, all developers understand that the higher the SLOC, the larger the number of potential bugs, the higher the maintenance costs, the efforts to develop new features, and so on. The problem is that it’s not possible to standardize or benchmark this metric in any meaningful way: a change in SLOC in itself says nothing about code quality, or developer productivity. To make matter worse, and despite the simplicity of its de nition, there is no consensus on how to measure SLOC. So different static analysis tools will provide different values. Developers therefore cannot use it to make comparisons or draw conclusions.

Although we’re not big fans of SLOC as a standalone metric, if you have to use it, then use the “logical” SLOC. Another practice which we nd useful
is to standardize SLOC by measuring SLOC per le (or per class). When the SLOC per le is far from the average, this is often a ag that something has to be reviewed.

What other metrics should you follow?

I personally think that a much better metric to express productivity is through number of PRs merged or the average time to close of PRs produced by a developer.

There are of course many other traditional metrics that you can track and follow like Cyclomatic complexity, Code churn, Code coverage, Code duplication, etc

If you’re curious about code quality metrics, you can read more about them on our ebook:

SLOC metric


About Codacy

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.

GET STARTED