Anti-pattern sono soluzioni comuni ma scarse a problemi ricorrenti — approcci che sembrano ragionevoli ma portano a risultati negativi (codice difficile da mantenere, buggy o rigido). Riconoscerli ti aiuta a evitare errori comuni.
Cosa sono gli anti-pattern
ANTI-PATTERNS = commonly-used but COUNTERPRODUCTIVE solutions:
→ they seem like a solution but cause MORE problems (technical debt, bugs, rigidity)
→ the OPPOSITE of design patterns (proven good solutions)
→ recognizing them helps you AVOID common pitfalls
Anti-pattern comuni nel codice/design
GOD OBJECT/CLASS → one class doing too much (huge, knows everything) → hard to maintain;
violates single responsibility
SPAGHETTI CODE → tangled, unstructured code with no clear flow → hard to follow/change
COPY-PASTE programming → duplicated code (violates DRY) → bugs/changes must be fixed everywhere
MAGIC NUMBERS/STRINGS → unexplained literal values → unclear, error-prone
PREMATURE OPTIMIZATION → optimizing before it's needed → wasted effort, complexity
GOLDEN HAMMER → over-using one familiar tool/pattern for everything ("when you have a hammer...")
HARDCODING → values that should be configurable baked into code
