Anti-pattern'y to powszechne, ale złe rozwiązania powtarzających się problemów — podejścia, które wydają się rozsądne, ale prowadzą do złych efektów (trudny do utrzymania, błędy, lub sztywny kod). Rozpoznawanie ich pomaga uniknąć typowych błędów.
Czym są anti-pattern'y
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
Powszechne anti-pattern'y kodowe/projektowe
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
