Skip to content
Discussion options

You must be logged in to vote

I’ve found that abstraction helps only when it removes a concrete source of change, not when it just reorganizes code.

A few signals I usually look for:

Multiple call sites evolving for the same reason. If I see the same modification happening in 3–4 places every time a requirement changes, abstraction tends to pay off.

Stable concepts vs. unstable implementations. I try to abstract around concepts that have stayed semantically stable over time, even if their implementations changed.

Cognitive load, not LOC. If understanding a feature requires holding fewer mental models after the abstraction than before, it’s probably a win.

On the flip side, abstraction becomes harmful when:

It introduc…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by iaversao7-sketch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants