• MajorHavoc@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    10 months ago

    Agreed. Inheritance, specifically, is a huge code smell.

    When inheritance is acting as a quick way to implement an interface, it’s lovely.

    When an object is acting as a fancy dictionary, it’s lovely.

    When a class has more than one parent in it’s chain of inheritance (upwards or sideways), that’s a code smell.

    It specifically tells us that the developers are trying to manage program state (variables and data) that simply should have been refactored out (or have drifted very far from the code they’re actually needed by).