Naming Things Is the Hardest Problem in Software (And Why It Matters)
There's an old joke that the two hardest problems in computer science are cache invalidation and naming things. The joke is real. Good names are documentation that never goes stale — and bad ones are bugs waiting to happen.