Skip to content

Instantly share code, notes, and snippets.

Last active January 6, 2019 15:35
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
# list code lines
find . -type f -name "*.ts" -exec cat {} + | sort -u
# count them
find . -type f -name "*.ts" -exec cat {} + | sort -u | wc -l
ULOC(7) FreeBSD Miscellaneous Information Manual ULOC(7)
ULOC – unique lines of code
There are many tools available which measure SLOC: source lines of code.
These tools are strangely complex for what they intend to do, which is to
estimate the relative sizes of projects. They perform some amount of
parsing in order to discount comments in various languages, and for
reasons unknown each format their ouput in some oddly encumbered way.
I propose a much simpler method of estimating relative sizes of projects:
unique lines of code. ULOC can be calculated with standard tools as
sort -u *.h *.c | wc -l
In my opinion, the number this produces should be a better estimate of
the complexity of a project. Compared to SLOC, not only are blank lines
discounted, but so are close-brace lines and other repetitive code such
as common includes. On the other hand, ULOC counts comments, which
require just as much maintenance as the code around them does, while
avoiding inflating the result with license headers which appear in every
file, for example.
It can also be amusing to read all of your code sorted alphabetically.
C. McEnroe <>
This document is produced from mdoc(7) source available from Code Toilet:
Estimates such as these should not be used for decision making as if they
were data.
Causal Agency December 14, 2018 Causal Agency
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment