« Notable Links | Main | Notable Links »

Design Smells

Posted by: David Carroll

From Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin

Design Smells, the odors associated with rotting software.

  1. Rigidity - System is hard to change in even the most simple ways.

  2. Fragility - Changes cause system to break easily and require other changes.

  3. Immobility - Difficult to entangle components that can be reused in other systems.

  4. Viscosity - Doing things right is harder than doing things wrong.

  5. Needless Complexity - System contains infrastructure that has no direct benefit.

  6. Needless Repetition - Repeated structures that should have a single abstraction.

  7. Opacity - Code is hard to understand.

via David Hayden


Add New Comment