Anti-patterns are commonly used ways of doing software engineering that are not useful or cause more issues than they solve. See software design patterns for the opposite. There are many diverse types of software anti-patterns. Some relate to software design, object-oriented programming, computer programming, methodological, configuration management, DevOps, and other aspects of software engineering. Several books have popularized the idea and teaching of anti-patterns.
Anti-patterns can be found in anything that has organization, from project management to cultures, but this list focuses solely on software and computer science anti-patterns.
Generic software design anti-patterns
Object-oriented anti-patterns
Poltergeist
Programming anti-patterns
Action at a distance Boat anchor
Lasagna code Lava flow
Magic numbers Magic strings Repeating yourself
Soft code
Methodological anti-patterns Copy and paste programming Golden hammer
Not invented here or (NIH) syndrome Premature optimization Programming by permutation (or "programming by accident", or "programming by coincidence")
Silver bullet
Configuration management anti-patterns
See also
List of software architecture styles and patterns Software design pattern Anti-pattern AntiPatterns (book)
References