• Kache@lemm.ee
    link
    fedilink
    arrow-up
    8
    ·
    12 hours ago

    If you used good objects, you’ll only have to make the change in one place

    IMO that’s generally a retroactive statement because in practice have to be lucky for that to be true. An abstraction along one dimension – even a good one, will limit flexibility in some other dimension.

    Occasionally, everything comes into alignment and an opportunity appears to reliably-ish predict the correct abstraction the future will need.

    Most every other time, you’re better off avoiding the possibility of the really costly bad abstraction by resisting the urge to abstract preemptively.

    • BougieBirdie@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 hours ago

      That’s a fair assessment. It’s kind of like the rule for premature optimization: don’t.

      With experience you might get some intuition about when it’s good to lean into inheritance. We were definitely lacking experience at that point though.

      OOP is a pretty powerful paradigm, which means it’s also easy to provide enough rope to hang yourself with. See also just about any other meme here about OOP