• pfm@scribe.disroot.org
    link
    fedilink
    arrow-up
    0
    ·
    3 hours ago

    I wouldn’t say that inheritance is for avoiding code duplication. It should be used to express “is a” relationship. An example seen in one of my projects: a mixin with error-handling code for a REST service client used for more than one service has log messages tightly coupled to a particular service. That’s exactly because someone thought it was ok to reuse.

    In my opinion, inheritance makes sense when you can follow Liskov’s principle. Otherwise you should be careful.