Home Developer Source line of code (SLOC) - what's best for productivity?

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

Author

Date

Category

“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

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Subscribe to our newsletter

To be updated with all the latest news, offers and special announcements.

Recent posts

May Product Update: Repository list, performance improvements, UX improvements, and more 🚀

Here are the product updates from May! This month we bring you new features, product improvements, and more interesting news to come. 🤩 We also...

April Product Update: New features and improvements, a recorded Codacy Analysis CLI webinar and more 🚀

Here are the product updates from April! This month we bring you new features, product improvements, a recorded Codacy Analysis CLI webinar we held,...

We Did a Hackathon!

We define ourselves as a startup, and while we proudly carry such a title, we also carry extraordinary responsibilities. After all, you mean to...

7 drawbacks of linting tools

Linting tools (also known as linters or static analyzers) help automate the code review process. They perform basic static code analysis by flagging programming...

Using the API to add Codacy Grade details to the Readme

Some context Codacy has a badge mechanism that can be included in your Readme file. It gives you an idea of the grade of your repository, from...