Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Home > Anti-pattern
In computer science, anti-patterns are problems that happen frequently in computer programming and that should be avoided in good practice.The term comes from the Gang of Four's Design Patterns book, which laid out examples of good programming practise. The authors termed these good methods " design patterns", while "anti-patterns" are the opposite.
Anti-patterns can also be referred to as pitfalls, to emphasise that they are a dangerous trap which an unwary programmer might find themselves in.
Among them are:
- abstraction inversion
- accidental complexity
- action at a distance
- accumulate and fire
- ambiguous viewpoint
- analysis paralysis
- big ball of mud
- blind faith
- boat anchor
- busy spin
- caching failure
- checking type instead of membership
- code momentumCode momentum is the situation where the more places a code dependency is repeated in the code, the more stubborn that dependency is. That is a sort of momentum. The more things are done one way, the more definitely you're headed in that direction, and th
- code smellIn the community of computer programming, code smell is a jargon term used among hackers to refer to a symptom that indicates something may be wrong: a suggestion at the possible presence of an anti-pattern. The article is originally from Perl Design Patt
- continuous obsolescence
- creeping featurismCreeping featurism or creeping featuritis is a phrase used (usually within the sphere of software and information technology) to describe the (often erroneous) idea that more features make a thing or product better than the previous version. The negative
- cut and paste programmingCut and paste programming is an informal computer programming style that simply copies code from one program to another. It is generally criticized as a bad practice or an anti-pattern. The term is in conjecture with a common activity in computing, cut an
- dead end
- design by committeeDesign by Committee is when a group of entities come together to produce a standard, interface, or piece of software. The end result of this is sometimes a product that oversteps its boundaries or does too many things. For a good example of this outcome,
- DLL hell
- double-checked lockingDouble-checked locking is a software design pattern originally known as "double-checked locking optimization". The pattern is usually unsafe on modern computer hardware and/or optimising compilers. It is typically used to reduce locking overhead when impl
- empty subclass failure
- God objectIn object-oriented programming, a God object is an object that knows too much or does too much''. The basic idea behind OO programming is that a big problem is broken down into many smaller problems ( divide and conquer) and solutions are created for each
- input kluge
- interface bloat
- hardcodes are evil
- lava flow
- magic number
- magic pushbutton
- mushroom management
- poltergeists
- premature optimization
- procedural code
- reinventing the wheel
- smoke and mirrors
- software bloat
- spaghetti code
- stovepipe system
- vendor lock-in
- warm bodies
Read more »