2 ms·
> Which leads to lots unnecessary code complexity because they engineer systems designed to be future proof for everything, instead of of what realistically wil
by jdmichal 12y ago
> Which leads to lots unnecessary code complexity because they engineer systems designed to be future proof for everything, instead of of what realistically will be necessary for the future of the project or projects.
This has been a bane for me in my work. I have termed it lasagna code: lots of layers with a little filling in between each. Often, each layer is isolating things for which there is little-to-zero reason to ever suspect that they will need to change. I've even seen attempts to abstract away data model... As if the entire program wouldn't have to be modified if the data model changed. I have learned to design and code only to known requirements. All the extra time saved in design, coding, and maintenance of the easier reduced system more than pays for the small redesigns necessary when things shift.