Archive

Archive for February 7th, 2009

Top 10 of Software Design Evilness

February 7th, 2009
Urs Enzler

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:

  1. Singletons
  2. Enums (or other c# enumeration equivalents)
  3. Swallow exceptions
  4. God classes
  5. Missing interface segregation
  6. Monster classes
  7. Too configurable, too flexible
  8. Abstraction layers not providing additional abstraction
  9. Try catch for program flow control
  10. Missing logging

read more

 

Architecture, Software , , ,