Comment by Cthulhu_

1 year ago

You'll never get it right though. Focusing on "features per LOC" means people will write shorthand, convoluted code, pick obscure, compact languages, etc. To use an adage, if a metric becomes a target, it stops being a useful metric.

An opinionated formatter plus a smart line counter fix this problem. There's still space for abuse but not enough to overshadow genuine improvements.

  • How does a formatter affect me intentionally writing more (or less) lines for the sake of reaching a line count?

    print([i * 2 for i in range(10)])

    vs

    squared_numbers = []

    for i in range(10):

        squared_numbers.append(i \* 2)
    

    print(squared_numbers)

    It's not even a readability thing, assuming list comprehensions don't bother you they're about equally readable