Plain Lines
660266.cc

When to skip the abstraction

M. Tanaka · Apr 2

Most of the trouble I see in production comes from boundary cases someone promised would never happen. The code is fine. The plan is fine. The promise is what ages badly.

Every time I revisit a project after six months, I find at least one place where past-me wrote a comment that present-me has now stopped trusting. Comments rot faster than code.

When a system surprises me, my first instinct used to be to fix the surprise. Now my first instinct is to figure out which mental model of mine was wrong, and update that.

There's a kind of premature optimization that comes from imagining a future team. "What if someone needs to swap this out?" Often, no one does.

← back to index