Hacker News new | ask | show | jobs
by epr 2528 days ago
"maybe"..."in the future" is the root of much object oriented evil
3 comments

Well... that is certainly correct in 99.99% of cases. But does it really apply when you write a "Do Nothing Script"(!) with the intention of automating the steps later? If you follow the "rules" to the end you just end up deleting the file after writing it, because it has no effect.
Only if your intention encompasses as much detail as you're leaving out in advance. It's baggage and comes with nigh certainty of wasting your willpower.
"maybe in the future" are four words I've learned to dread hearing from any developer. YAGNI goes much, much deeper than most people realize.
I don't think there is a correct answer, but I like that a developer has foresight.
The problem is you get more information in the future, but all this boilerplate is has been written before that information so the first instinct / seemingly least-resistance thing to do is to fit the new information into the old boilerplate / hierarchy.

Lots of people have OO scar tissue from getting weird impedance mismatches on newish OO systems designed this way.

Real foresight is understanding the cost of unnecessary technical debt.
This is a pretty common misconception. I have yet to see a bit of perfect abstraction that has been written before the problem occured.