Wrong abstractions - Deepstash
Machine Learning With Google

Learn more about computerscience with this collection

Understanding machine learning models

Improving data analysis and decision-making

How Google uses logic in machine learning

Machine Learning With Google

Discover 95 similar ideas in

It takes just

14 mins to read

Wrong abstractions

Wrong abstractions

If you find yourself passing parameters and adding conditional paths through shared code, the abstraction is wrong. It's no longer right for the codebase.

Wrong abstractions are no longer common abstractions; they are series of conditions mixed with vaguely related ideas. This makes them:

  • hard to understand,
  • easy to break, and
  • hard to modify to implement new features.

2

22 reads

MORE IDEAS ON THIS

The right way to abstract

The right way to abstract

Start by implementing the problem in the concrete, not in the abstract. Don't try to guess what interfaces you will need. Discover them.

Only after implementing the problem in the concrete, go on to decoupling. Ask yourself: "What do I need to decouple to make it better, to...

2

17 reads

DRY is not a silver bullet

DRY is not a silver bullet

"Don’t repeat yourself" (DRY) is usually good advice, but you have to get the abstractions right. Otherwise they quickly become unmaintainable.

Here's how it usually plays out:

  1. You write a cool abstraction
  2. Time passes

2

43 reads

Fix wrong abstractions

Fix wrong abstractions

In the long run, it's better to fix wrong abstractions ASAP than to add more code and make everything more complicated.

Your goal is to remove the abstraction and conditionals, and to reduce each caller to only the code it needs. Here's how:

    2

    17 reads

    CURATED FROM

    CURATED BY

    ocpodariu

    Alt account of @ocp. I use it to stash ideas about software engineering

    Read & Learn

    20x Faster

    without
    deepstash

    with
    deepstash

    with

    deepstash

    Access to 200,000+ ideas

    Access to the mobile app

    Unlimited idea saving & library

    Unlimited history

    Unlimited listening to ideas

    Downloading & offline access

    Personalized recommendations

    Supercharge your mind with one idea per day

    Enter your email and spend 1 minute every day to learn something new.

    Email

    I agree to receive email updates