For the lazy like me who are interested in the topic but googling for it is too exhausting:<p><a href="https://en.wikipedia.org/wiki/ABC_Software_Metric" rel="nofollow">https://en.wikipedia.org/wiki/ABC_Software_Metric</a><p>Long story short: instead of counting lines of code, the ABC software metric accounts for<p>A) assignments ,<p>B) branches,<p>C) conditionals.<p>I would argue that the ABC metric nowadays fails to do a good job as a software metric, mainly due to the inception and prevalence of declarative frameworks and tools.
Author includes comments (irrelevant to code to some extent) and braces (enforced by compiler) and particulars of code style into LOC and calls it unreliable.<p>I think it is not quite honest.<p>The rules themselves vary between languages and, frankly, contemporary C++ is a different language than C++ circa 1997. Often, use of C++ is different between parts of projects and it is the case for contemporary Java too.<p>Should we develop different ABC rules for different flavors of C++ and/or Java?