Top 10 of Software Design Evilness


These are my personal top ten of software design evilness. That means ten designs that make your software either complex, untestable, monolithic, unchangeable or hard to understand:

Enums (or other c# enumeration equivalents)
Swallow exceptions
God classes
Missing interface segregation
Monster classes
Too configurable, too flexible
Abstraction layers not providing additional abstraction
Try catch for program flow control
Missing logging

Recent Posts