Pixel and Page
235kj.com

When to skip the abstraction

Daniel C. · Jun 19

I split a 4000-line file into 12 smaller ones this week. The smaller files weren't actually easier to understand. The 4000-line file was a problem of structure, not of length.

I keep a small log of decisions in a text file. Not architectural — just small ones. "Picked X over Y because Z." Future me reads it more than I thought he would.

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.

If a config file has more than a dozen options, half of them aren't being used. The other half are being used in ways the original author didn't predict.

Caches solve a problem and create three new ones: invalidation, observability, and the slow drift between what the cache thinks is true and what the source thinks is true.

← back to index