4 ms·
It would seem useful to retain a copy of the original code in the "simpleton" format. This is because it is easier to "refactor" simple into complex than to re
by 3xblah 8y ago
It would seem useful to retain a copy of the original code in the "simpleton" format.
This is because it is easier to "refactor" simple into complex than to refactor complex into simple.
In the simple format the work is accessible to more people.
In the more complex formats, it becomes less accessible.
Perhaps it is added cleverness, abstraction and complexity that creates a sort of "irreversability" (cannot return to simple) that motivates people to "reinvent the wheel", ignore past work and totally rewrite things from scratch.
What they really want when they do that (methinks) is a "simpler" format to work from, not "simpleton" but not too far from it. Goldilocks levels of cleverness and abstraction.
Similarly, perhaps that unmanageable, irreversible complexity is also what compels people to add more abstraction layers in attempts to "simplify".
In other words, at some point the level of complexity becomes too great for someone to unravel. All they can do is add to it.
- tempodox 8y agoI think you're on to something. I compress this to “quantity is easier to manage than complexity”. The simpler version will commonly be “more” in terms of LoC but, as you say, easier to grasp and to work with when done well. I found (the right form of) laziness a good counterforce. I don't want to wrack my brain with an over-engineered abstraction, but I also don't want to squirt the same 15 lines of code all over the codebase. When the criterion for correctness changes, I'll have to edit those 15 lines everywhere, and I'm guaranteed to forget at least one instance.