Posted by David Carroll
From Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
Design Smells, the odors associated with rotting software.
- Rigidity - System is hard to change in even the most simple ways.
- Fragility - Changes cause system to break easily and require other changes.
- Immobility - Difficult to entangle components that can be reused in other systems.
- Viscosity - Doing things right is harder than doing things wrong.
- Needless Complexity - System contains infrastructure that has no direct benefit.
- Needless Repetition - Repeated structures that should have a single abstraction.
- Opacity - Code is hard to understand.
via David Hayden