Poltergeists
This anti-pattern is also known as "Gypsy", "Proliferation of Classes", and "Big Dolt Controller Class". It is most frequently seen in application level.
It is well known when a developer overly abstracted the project, like keeping it overly safe by over-simplifications or adding too many layers of abstractions for "future proof".
Consequences
Consequences
- Bloated (but scalable) project.
- Unnecessary / confusing navigation paths.
- A lot of temporary, short duration of class/structure.
- Class/structure that has operational name like
start_process_alpha
.
Symptoms
Symptoms
- Redundant functions and classes.
- Transient associations.
- One master class invoking other smaller classes.
Causes
Causes
- Lack of object-oriented architecture understanding from architect / designer.
- Incorrect tool for the job.
- Specified disaster caused by requirements.
Fixing Recipes
Fixing Recipes
- Study the most used path.
- Revise the requirements. Eliminate possibility of specified disaster.
- Merge/delete the redundant path.