jargon

Comparison

Code smellvsCruft

Code smell

nothing is broken, but the way the parameters keep getting passed through five functions feels wrong.

A surface symptom that often, but not always, indicates a deeper problem — long parameter lists, shotgun surgery, feature envy, a comment explaining a workaround. The value of the vocabulary is that it makes an instinct discussable: 'this smells' is not review feedback, but 'this is primitive obsession and here is what it will cost' is. A smell is a prompt to look, never a rule that something must be changed.

Full entry →

Cruft

there is a dead flag, three commented-out blocks and a helper nobody has called since 2022.

Code that is simply badly made: unclear, redundant, dead, or wrong in ways that were avoidable at the time. It is worth keeping distinct from technical debt because the two have different conversations — debt was a deliberate trade for speed and can be defended, while cruft was never a trade and has no upside to weigh. Calling cruft 'tech debt' is how teams end up arguing about priorities instead of just cleaning up.

Full entry →

Related comparisons