The right way to abstract - Deepstash
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 allow it to deal with change as the data or business changes?".

Leaving the code in the concrete is also an option. Don't force abstractions when they are not necessary. Prefer duplication over the wrong abstraction because duplication is cheaper to deal with.

2

17 reads

CURATED FROM

IDEAS CURATED BY

ocpodariu

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

The idea is part of this collection:

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

Related collections

Similar ideas to The right way to abstract

The SMART Method

The SMART Method

Time commitment to get started: Medium

Type: Abstract

Perfect for people who: Are in the early phases of a big project and need to strategize before jumping in.

What it does: Turns big, abstract ideas and goals ...

Tips for entrepreneurs to succeed during the pandemic

... and beyond:

  • Be agile. Pivoting has gotten a lot of businesses through the pandemic. Continuing to adapt to it is what helps you keep going.
  • Communicate honestly and authentically. When facing a crisis, be transparent with everyone affected ...

Applying the Many-to-Many decision-making model

  • Frame the challenge or problem as a question. "What must we do now to become number one in commercial lending?"
  • Carefully consider all the people who can meaningfully answer the question and involve many who will need to execute them.
  • Don't tell people what to exp...

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Personalized microlearning

100+ Learning Journeys

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving

Unlimited history

Unlimited listening to ideas

Downloading & offline access

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