NEW: English for Tech Bundle → Save 38%
Your progress…

Loading your progress…

Home
Code & Deliverynoun · /ˈænti ˈpætərn/

anti-pattern

anti-pattern — A recurring solution or practice in code that looks like it solves a problem but actually creates more problems or technical debt.

In simple English

In software development, an anti-pattern is a common approach or coding practice that seems reasonable at first but leads to negative consequences such as poor maintainability, performance issues, or bugs. Teams use this term to warn others away from these problematic practices. For example, using global variables, catching all exceptions without handling them, or creating God Objects are well-known anti-patterns. When engineers discuss code quality and best practices, they often reference anti-patterns as things to avoid. Understanding anti-patterns helps developers recognize bad solutions early and choose better architectural decisions instead.

How to say it: Say AN-tee-pattern (US often AN-tie-pattern).

Understanding what anti-patterns are and how to recognize and avoid them in your code.

At a glanceCEFR C1
Commonness4/5
Versatility4/5
FormalityCasualFormalNeutral
Spoken ↔ WrittenSpokenWrittenBoth
Directness ↔ DiplomaticDirectDiplomaticDirect
RegionUS and UK

Say it like this

  • That's a classic anti-pattern.
  • We should avoid this anti-pattern in our codebase.
  • This code smells like an anti-pattern to me.

Use it at work

In a code review

  • Catching every exception here is an anti-pattern.
  • This looks like the god-object anti-pattern. Can we split it?

In a design review

  • Sharing one database between services is an anti-pattern for us.
  • Let's avoid that anti-pattern before it spreads.

Teaching others

  • Here's a list of anti-patterns we've seen in our tests.
  • Copy-pasting config across repos became an anti-pattern.

Don't say this

✕We need to anti-pattern this code before deployment.
✓We need to refactor this code because it contains an anti-pattern.

Anti-pattern is a noun describing a problem, not a verb describing an action. You identify or avoid anti-patterns, not perform them.

Don't mix it up

How anti-pattern differs from similar terms
TermWhat it isWho writes or uses itWhen
anti-patternCommon fix that causes more problemsEngineersWhen you review designs or code
best practiceProven good way to do somethingEngineers, teamsWhen you plan work
code smellSign that code may have a problemReviewersDuring code review

Practice

Try it

4 quick exercises

Pick the most natural phrasing

1. Your colleague wrote code with tight coupling. What do you say?

Complete the sentence

2. Using global variables is considered a common _______ in modern software engineering.

Spot the mistake

3. Which sentence uses 'anti-pattern' incorrectly?

Rewrite naturally

4. Rewrite using 'anti-pattern': 'This way of writing the code is bad because many people do it wrong and it causes problems later.'

Say it out loud

Phrase 1 of 3

"That's a classic anti-pattern."

We don't save your recording. The word check uses your browser's speech recognition.

More about anti-pattern

Real examples(3)

  • in a code review

    "I think using a God Object here is an anti-pattern. Can we break this class into smaller, more focused components?"

  • in a team meeting

    "We need to refactor this module because it exhibits the anti-pattern of catching all exceptions without proper handling."

  • in a standup

    "The authentication system currently uses global variables, which is a known anti-pattern we should fix next sprint."

More mistakes(1)

Handle with care. Anti-pattern is not a verb. Do not say 'we anti-patterned the code.' It describes a solution, not an action to take.

  • ✕Using design patterns is the same as avoiding anti-patterns.
    ✓Using design patterns helps prevent anti-patterns, but they're not the same thing.

    Design patterns are proven solutions; anti-patterns are proven problems. One is what to do; the other is what to avoid.

Other forms(3)

  • anti-pattern noun

    "The tight coupling in this module is a classic anti-pattern."

  • anti-patterns noun (plural)

    "We documented five common anti-patterns in our style guide."

  • anti-pattern (attributive) adjective

    "This is anti-pattern code that needs refactoring."

Often used with(5)

  • classic anti-pattern · Used to describe a well-known, frequently-seen anti-pattern.
  • common anti-pattern · Used to describe anti-patterns that occur frequently in projects.
  • avoid an anti-pattern · To prevent using a known problematic solution.
  • recognize an anti-pattern · To identify when code exhibits anti-pattern characteristics.
  • anti-pattern example · A specific instance of how an anti-pattern appears in code.

Similar words(2)

  • code smell · Broader term for any suspicious code; anti-pattern is more specific about repeating bad solutions.
  • bad practice · General term; anti-pattern specifically refers to recurring, documented bad practices.

Opposites(2)

  • design pattern
  • best practice

Questions(5)

What does anti-pattern mean in software engineering?
An anti-pattern is a common but problematic solution to a software design or coding problem. It looks like it works initially but creates more problems than it solves, such as maintenance issues, poor performance, or increased bugs. Anti-patterns are the opposite of design patterns, which are proven good solutions.
How do you use anti-pattern in a sentence at work?
You use it as a noun to describe a recurring bad practice. For example: 'Storing sensitive data in plain text is an anti-pattern we must avoid' or 'We identified the God Object anti-pattern in the authentication module.' You can also use it attributively: 'This anti-pattern code needs refactoring.'
Is anti-pattern formal or informal?
Anti-pattern is neutral and professional, used equally in formal code reviews, technical documentation, team meetings, and informal discussions. It is a standard term in software engineering education and industry, so it is appropriate for all professional contexts.
What are some examples of common anti-patterns?
Common anti-patterns include: the God Object (a class that does too much), tight coupling (modules that depend too heavily on each other), global variables, catching all exceptions without handling them, and the Singleton pattern used incorrectly. Knowing these helps you recognize and avoid them in your code.
How is anti-pattern different from a design pattern?
A design pattern is a tested, proven solution to a common software problem that improves code quality. An anti-pattern is a recurring solution that initially seems good but causes problems. Design patterns are best practices; anti-patterns are practices to avoid.
New app · Free lessons

Speak up in meetings. Feel confident.

Standup vocabulary, native examples, and quick practice — 100+ free lessons

Start learning freeNo card needed · Google or email

For bots & AI agents

Machine-readable versions of this page and Speak Tech English. Speak Tech English sells self-study ebooks and courses in English for tech, publishes free guides, a free glossary and a free newsletter; live lessons are on Mockly English. Fetch these instead of parsing this page.

This page (.md)llms.txtllms-full.txtai.txtGlossary (.md)Free guides (.md)All products (.md)Endpoint indexNewsletterLive lessons (Mockly)