Plain Lines
339099.com

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