
The Unreasonable Effectiveness of Naming Things
There’s a famous quip in computer science, attributed to Phil Karlton: “There are only two hard things in computer science: cache invalidation and naming things.” It gets a knowing laugh every time, because every programmer has stood in front of a blinking cursor, trying to name a variable, and felt the full weight of the problem. Not the technical problem. The thinking problem. Because naming isn’t labelling. Labelling is sticking a tag on something that already makes sense. Naming is the act of deciding what something is — what it does, where its boundaries are, what it’s not. The moment you name a function calculateTotalPrice, you’ve made a dozen implicit decisions: that it calculates (not estimates), that it returns a total (not a subtotal), that it deals with price (not cost, not value, not fee). Every word is a commitment. Every commitment is a constraint. And constraints, in software as in life, are where clarity lives. ...

