Anti-pattern – Big Ball of Mud
The Big Ball of Mud anti-pattern describes a system that ended badly or was never properly designed. Sometimes, a system starts great but evolves into a Big Ball of Mud due to pressure, volatile requirements, impossible deadlines, bad practices, or other reasons. We often refer to the Big Ball of Mud as spaghetti code, which means the same thing.
This anti-pattern means a very hard-to-maintain codebase, poorly written code that is difficult to read, lots of unwanted tight coupling, low cohesion, or worse: all that in the same codebase.
Applying the techniques covered in this book should help you avoid this anti-pattern. On top of that, here are a few tips to help you avoid creating a Big Ball of Mud:
- Aim at small, well-designed components that are testable.
- Enforce testability using automated testing. Remember that testing tightly coupled code is very hard, so your design might benefit from improvements if testing becomes...