Anti-patterns are commonly used ways of doing software engineering that are not useful or cause more issues than they solve. See 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. [1] [2]
Anti-patterns can be found in anything that has organization, from project management to cultures, [3] but this list focuses solely on software and computer science anti-patterns.