Bloat Induced Reading Confusion

"Verbose" code can result in reading or grokking errors. Compact, concise code is often easier to digest and/or spot patterns in. Granted, everybody is different and some have FastEyes that can absorb verbose code quickly and cleanly. But your future replacement may have average eyes. I'm not saying compactness is always the better choice, but it is an important factor to weigh against others.

Examples where it may be an issue is overly-long variable/object names and AvoidDirectAccessOfMembers.

--top

If compact, concise code is often easier to digest and/or spot patterns in, shouldn't AplLanguage be the easiest language to digest and/or spot patterns in?

For some uses it is, or at least the general formula-like approach. But I generally intended to limit the scope of my statements to AlgolFamily languages, at least for now. There indeed could be cases of being too concise or compact and/or using "clever tricks" to cut down code. In my opinion, there is a "Goldilocks zone" that's not too hot nor too cold. -t

My experience of BloatInducedReadingConfusion is that mistakes are most likely to be made in dense, un-modular thickets of BigBallOfMud logic that cries out for ReFactoring. The post-ReFactoring scaffolding sometimes needed to improve CouplingAndCohesion and reduce the BigBallOfMudness doesn't cause confusion, it reduces it, even when it makes the code superficially longer. It's just like the punctuation, paragraph breaks and capitalisation we put in English writing helps improve its readability even though it superficially adds "bloat" and doesn't contribute meaning.

That's not specific enough for me to comment on. "Coupling" and "module" are generally vague terms, for example. Note that I have seen heavily factored code confuse developers; and managers or developers at multiple organizations have asked me to stop factoring so tight so as to not confuse their developers. That being said, SoftwareEngineeringIsArtOfCompromise and code size (bloat) is one factor to consider, but will need to be weighed against many other factors, and different practitioners disagree on the weights based on differing experiences.

They are general concepts. How could they be more specific?

I am not understanding that statement.

You wrote, "that's not specific enough for me to comment on. 'Coupling' and 'module' are generally vague terms..." My response is that they are general concepts. I cannot be more specific.

And?

And that's it. Do you understand the statement now?

Apparently not.


See also: SafetyGoldPlating, ExpressionApiComplaints


CategoryHumanFactors


DecemberFourteen


EditText of this page (last edited December 16, 2014) or FindPage with title or text search