Symptom

A function whose name doesn't match what it does, or whose parameter list carries unused/awkwardly-ordered arguments — readers must inspect the body to understand the call.

Goal

Function names match what they actually do; parameter lists carry only what the function needs, in the order callers expect.

Before the refactoring

function circum(radius) {
return 2 * Math.PI * radius;
}

After the refactoring

function circumference(radius) {
return 2 * Math.PI * radius;
}
Example source: Illustrative example written for this site, not a quotation from any source.
Pressure

Every reader of a call site pays a comprehension cost; mismatches between name and behavior hide bugs; new callers learn the wrong abstraction from the wrong signature.

Tradeoff

Every caller pays for the signature change at once, even those whose call sites were already fine; other-team callers get forced coordination.

Relief

Call sites read fluently; mismatches between expectation and behavior surface immediately at the boundary.

Trap

Renaming or reshaping signatures across team boundaries without coordination — forces other teams to rebuild their code on the change's PR timeline.