3 ms·
Over-engineering tends to happen when people plan out the entire structure of an application or codebase before starting. Under-engineering happens when deadli
by warfangle 17y ago
Over-engineering tends to happen when people plan out the entire structure of an application or codebase before starting.
Under-engineering happens when deadlines pile up and there is no time to refactor to known and useful design patterns. Or, in the worst-case scenario, the developer has no idea about design patterns. Most code out there is bad due to the latter two reasons, not the former one.
Over-engineered code, yes, is often denser than it needs to be. But oftentimes it's a lot easier to come in and understand it than, say, a 16000 line PHP file with no functions or objects - just a bunch of nested if/else... I'd argue that the former is possible to refactor, while you're better off just dousing the Gordian Knot code in kerosene and tossing a match on it.
- swombat 17y agoHah, so what you're saying is the "code that needs to be refactored" is actually "code that needs to be thrown away"... :-)
- warfangle 17y agoSometimes, but not always! Often over-engineered code can simply be reorganized to something simpler and more intuitive (and oftentimes, more efficient). The same is usually not true of spaghetti code...