case class Baz(foo: Int, bar: Float)
Gives you a free hashCode, equals and copy as well.
int foo; float bar;
That can later be changed, when the need arises.
>LOC is more valid as a metric than most care to admit.
It's not.
Not all of it, actually.
> nobody had to physically type that
We totally had to read that.
> And usually no developer will be dwelling on this object or this area of the object.
Well… yes, usually. Sometimes however we did want to pay more attention than usual. At that point the original dev would have made a real comment. And that comment was lost in the noise, so you couldn't even distinguish between real comments and useless boilerplate.
I'll repeat my current gut feeling. Intrinsic measures of software quality are terrible as guides for how to write code. They are decent at predicting quality, but are not usable in a prescriptive way to write quality code.
LOC is more valid as a metric than most care to admit.