Numbers I check before merging
Alex Lin · May 9
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.
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.
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.
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.
The fastest debugging trick I've learned is to write out, in one sentence, what the system is supposed to be doing. Half the time I notice the bug while writing the sentence.
← back to index