One commit, two months of cleanup
M. Tanaka · Jul 22
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.
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.
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.
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.
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.
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.
← back to index