Anyone familiar with the book on patterns written by the Gang of Four knows that the patterns described in the book are elegant, time-tested solutions. Unfortunately, the allocation of these patterns from the successive code is impossible, because no one knows that they offered these patterns when they wrote the successive code. Therefore, the following text is a pattern for the masses. The patterns presented in this document are solutions that have survived many. Enjoy reading, but do not use in practice!
Cremational Patterns
The following is a list of five sizzling patterns.
')
Extreme Poverty (Abject Poverty)The pattern of extreme poverty is obvious in the case of software that is so difficult to test and maintain that it translates into huge costs.
BlindPutter Blind - a solution without regard for future changes in the requirements for the project. It is not known whether the pattern is named this way because of the vain experiences of the programmer in the process of writing code, or his desire to squeeze out his eyes to himself at the project support stage.
Fallacy MethodThe method of delusions is applied when handling extreme cases. The logic seems to be correct, but if someone tries to test it, or if an extreme case emerges, the fallacy in logic becomes obvious.
ProtoTryThe Attempting Pattern is an attempt to quickly and dirtyly develop a working software model. Initially, the goal is to rewrite ProtoTry, taking into account all the pitfalls, but the schedule does not allow it. This attempt is also known as successive code.
Simpleton. (Simpleton)The simpleton is an incredibly complex solution used for the most typical tasks. Using this pattern speaks about the skills of using
Destructural Patterns
Below are seven destructive patterns.
Adopter (Adopter)The adopter provides shelter for lost functions. The result is a huge gypsy family of functions unlike each other. The only thing that binds them is the adopter.
BrigThe brig is a container class for bad software. Also known as a module.
CompromiseThe Compromise Pattern is used to balance between speed and quality. The result is low-quality, useless software.
Detonator (Detonator)Detonator is often found, but often not seen. A typical example is a calculation based on a two-digit representation of the year. This bomb is waiting for its time!
Leaky (Fromage)The Leaky pattern is usually full of holes. It consists of many small dirty hacks that make support impossible. The older this decision becomes, the worse it smells.
Airplane (Flypaper)The airplane is written by one programmer and is supported by another. A programmer who has to maintain an airplane notices that the airplane is not good, therefore, as a rule, it catapults.
Epoxy (ePoxy)Epoxy is often found in very tightly coupled software modules. Connectivity is growing and at some point it begins to seem that the modules are glued together with epoxy resin.
Misbehavioral Patterns
Chain of PossibilitiesThe sea of possibilities is found in huge, poorly documented modules. No one knows what the module does, but its possibilities seem endless. Also known as Nondeterministic.
Commando (Commando)The commando is used when you need to quickly penetrate the project, quietly do your job and forget about it. A commando can crack any encapsulation to achieve its goals. And of course he does not take hostages.
Sprayer (Intersperser)The sprayer disperses pieces of functionality through the system in such a way that it becomes impossible to test, modify or understand.
InstigatorThe instigator seems good and quality, but slowly begins to create chaos at the other end of the system.
MomentumThe impulse grows exponentially, increasing the size of the program, memory requirements, complexity and running time.
MedicatorThe medicator is a huge temporary bore, which by its presence makes the other elements of the system work as if they are under strong sedatives.
AbsolverOccurs in systems developed by former employees. There are so many problems historically associated with this software that current employees blame former employees for everything. Also known as "It-not-I-wrote."
StakeSteak is found in software written by developers who have turned into managers. Such software is full of problems that managers generously offer to rewrite to others, because software is merely a demonstration of technical managerial skills.
EulogyEulogy is found in projects that take into account the remaining 22 patterns. Also known as Post-Death.
Elemental Method (Tempest Method)The spontaneous development method is used in the last few days before software release. It is characterized by the absence of comments and the frequent use of Detonators.
Hellraiser (Visitor From Hell)It is the absence of checks on the boundaries of arrays. It is believed that at least one unit in the system has built-in support for the Hellraiser, who will overwrite critical data.
PS The reader is invited to participate in correcting the translation, as well as make their antipatterns and their descriptions (in Russian, by itself). Send your pull-requests here:
github.com/allaud/resign_patterns