Design Smells...

Martin Fowler [1], introduced us to code smells. Robert C. Martin provides us a higher-level smells or design smells in his book [2]. Here they are:

 

  1. Rigidity – the design is hard to change because every change forces many other changes to other parts of the system.
  2. Fragility – the design is easy to break. Changes cause the system to break in places that have no conceptual relationship to the part that was changed.
  3. Immobility – the design is hard to reuse.
  4. Viscosity – it’s hard to do the right thing because sometimes it’s just easier to do “quick hacks”.
  5. Needless Complexity – overdesign, contains infrastructure that adds no direct benefit.
  6. Needless Repetition – mouse abuse, “copy-paste-then-modify” codes.
  7. Opacity – disorganized expression. Code can be written in a clear and expressive manner, or it can be written in an opaque and convoluted manner.

 

Bibliography:

1.    Martin, Fowler. Refactoring. Addison-Wesley. 1999.

2.    Robert C., Martin. Agile Software Development Principles, Patterns, and Practices. Prentice Hall. 2003.

Share this post: | | | |
Published Monday, July 31, 2006 7:08 PM by zeddy
Filed under:

Comments

# re: Design Smells...

Tuesday, August 01, 2006 4:14 AM by zeddy
Ha.. baca buku Uncle Bob juga dia...

Btw, kalau ada yg mau pinjam hardcopy buku Uncle Bob, drop me a line...

# big-oh notation » Blog Archive » Design Smells: Fragile Unit Tests

Pingback from  big-oh notation  » Blog Archive   » Design Smells: Fragile Unit Tests

Powered by Community Server (Commercial Edition), by Telligent Systems