Comparison
Anti-patternvsCode smell
Anti-pattern
someone named the shape you had just described and the argument stopped, because everyone had seen it before.
A commonly-reached-for solution that reliably makes things worse, named so that it can be identified without re-deriving why. The definition includes a second half people forget: a real anti-pattern comes with a refactored alternative, otherwise it is just a complaint. It is also a word that gets used to end discussions rather than have them, which is worth watching for.
Full entry →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 →