What Is an Antipattern?
Anti-patterns (pitfalls) refer to common bad methods used to solve problems. They have been researched and categorized to prevent future mistakes, and can be identified when research and development are not yet in production. Recognized anti-patterns in software development
Anti-pattern
- This entry lacks an overview map . Supplementing related content makes the entry more complete and can be upgraded quickly. Come on!
- Chinese name
- Anti-pattern
- Foreign name
- Anti-patterns or pitfalls
- Nature
- Common bad ways to solve problems
- Application
- Design anti-pattern programming anti-pattern
- Anti-patterns (pitfalls) refer to common bad methods used to solve problems. They have been researched and categorized to prevent future mistakes, and can be identified when research and development are not yet in production. Recognized anti-patterns in software development
- Smoke and mirrors: Show people what functions that have not yet been implemented will look like. English comes from a magic trick: let out smoke and cover an object with a mirror to make it look like it has disappeared.
- Software swell: As the version is upgraded, the software consumes more and more system resources.
- Poor management: manage a project without sufficient knowledge of the subject.
- Anti-abstract: The required functions are not exposed to the user, causing the user to re-implement some functions at a higher level.
- The four are different: often a design model can expose different interfaces to the user, and different interfaces represent different aspects of the model. However, it is a common bad design to mix different functions.
- Mess balls: The system has no recognizable structure, just like a mess.
- Wan Yingling: An object knows too much, or needs to do too much, as if it is omnipotent.
- Dragon Slay: No complicated design necessary.
- Race Hazard: Lack of anticipation of the consequences of events occurring in a different order.
- Anti-patterns in object-oriented design
- Universal class: In the design of a class, too many functions are aggregated.
- Noisy: The purpose of creating an object is to send messages to other objects.
- The slippery problem: Because the structure (such as inheritance) is extremely fragmented and lengthy, it takes a lot of effort to understand it.
- Hard Code: Or write to death. Set up the operating environment of a system to achieve the purpose of a system.
- Disorganized code: Structures that are almost incomprehensible, especially because of code structure abuse.
- Super boolean logic: unnecessary comparisons, or overly abstract boolean calculations.
- Useless exception handling: Conditions are inserted to prevent runtime exceptions, but they are thrown when the condition is false (for example: if A not null then process (A) else throw null-exception endif).
- Copy-n-paste programming: prefer to copy (and modify) existing code rather than create a universal solution.
- Anti-refactoring: The process of "removing functionality and replacing it with annotations."
- Golden Hammer: Assume that personal preference solutions are universal.
- Cover the ears: Suppose a known bug does not occur.
- Immature optimization: Optimize based on insufficient information.
- Rebuilding a Wheel: Refuse to adopt an existing solution and rewrite one.
- Created a square wheel: When an excellent solution exists, create a crappy solution.
- Dependency hell: problems caused by mismatched product versions required, especially on UNIX / Linux.
- DLL Hell: Various problems caused by the version, existence, and duplication of dynamic link libraries, especially on Microsoft Windows.
- JAR hell: Problems caused by JAR files of different versions or addresses often cause the lack of loading modules.
- Extension conflict: Different extensions from Mac OS try to patch the same part of the system.
- Some organizational anti-patterns
- Analyze paralysis: The project analysis process has grown disproportionate, but left to it.
- Cash cow project: Or eat old, a profitable product keeps new products on their feet.
- Revolution forever: Always move existing systems to new environments at any cost.
- Army-style management. There is no room for tolerance.
- Scope creep: allow project scope to grow without proper control
Introduction to anti-pattern software
- A quick reference for interested software developers learning what software design and implementation should not be done. The pattern indicates the occurrence of the author's observed frequency
Anti-pattern requirements
- System requirements: wp7.0, wp7.8, wp8.0 [1]