Code Smell
ELI5 — The Vibe Check
Code that works but feels... wrong. Like when food smells slightly off — it might be fine, but something isn't right. Long functions, deeply nested ifs, magic numbers, duplicate code — they're not bugs, but they're hints that the code needs refactoring before it BECOMES a bug.
Real Talk
A code smell is a surface-level indicator of a potential deeper problem in code quality. Defined by Martin Fowler and Kent Beck, code smells don't prevent functionality but suggest structural issues that increase maintenance difficulty and bug likelihood. Common smells include long methods, feature envy, and god classes.
When You'll Hear This
"That 500-line function is a serious code smell." / "The code smell is real — time to refactor."
Related Terms
Anti-Pattern
Anti-Pattern is the opposite of a design pattern — it's a commonly used approach that looks like it solves a problem but actually makes things worse.
Clean Architecture
Clean Architecture is like an onion with strict rules: the inner layers (your core business logic) have absolutely no idea the outer layers (databases, API...
Refactoring
Refactoring is improving the internal structure of code WITHOUT changing what it does from the outside.
Technical Debt
Technical debt is the coding equivalent of putting things on a credit card.