4 ms·
This is where the distinction between essential/intrinsic and incidental/accidental complexity comes in. Any code in the solution but not required in the soluti
by karmakaze 3y ago
This is where the distinction between essential/intrinsic and incidental/accidental complexity comes in. Any code in the solution but not required in the solution is excess. Usually though we don't measure this in lines, but rather in cognitive load (which can come in any number of inappropriate choices).
- rightbyte 3y agoYe sure. I know good code when I see it. The scale is very fuzzy, and others might disagree with my taste and we both are right. "Cognitive load" has to be normalized by "stuff done". I mean the unit is something like: (stuff done by app) / (code stuff) where 'code stuff' is really really fuzzy. I mean dependencies count into that measure, even though they are zero loc written by you. Etc.
- karmakaze 3y agoI agree that it's a fuzzy scale. What I usually pick out isn't the amounts of stuff but how much of it either goes against the grain or piles on abstractions without a simplifying payoff (reduced cognitive load). Basically it comes down to picking the right set of abstractions (choosing your chunks/seams) and good naming since the factors which are being separated aren't vague. Few things are 50/50--those cases rather tend to be "no one really knows yet". My phrasing is "you'll know good code when it's shown to you" where "you" is myself for my own work.