7 Deadly Sins of Design

I found this in “OO Primer (Object Oriented Principles Explained)” by Arnon Rotem-Gal-Oz. I liked these sins and hence this post. Do you agree or disagree?

1. Rigidity. Make it hard to change, especially if changes might result in ripple effects or when you don’t know what will happen when you make changes.
2. Fragility. Make it easy to break. Whenever you change something, something breaks.
3. Immobility. Make it hard to reuse. When something is coupled to everything it uses. When you try to take a piece of code (class etc.) it takes all of its dependencies with it.
4. Viscosity. Make it hard to do the right thing. There are usually several ways to work with a design. Viscosity happens when it is hard to work with the design the way the designer intended to. The results are tricks and workarounds that, many times, have unexpected outcomes (esp. if the design is also fragile).
5. Needless Complexity. Over design. When you overdo it; e.g. the “Swiss-Army knife” antipattern. A class that tries to anticipate every possible need. Another example is applying too many patterns to a simple problem etc.
6. Needless Repetition. The same code is scattered about which makes it error prone.
And in closing the list, the 7th Deadly Sin of Software Design is (the obvious):
7. Not doing any design


Find Singapore Apartment  and Room Rentals here

Looking for a date or love? Click here to find one for free!!

Stock Market Views, Experiences on http://theindiastockmarket.blogspot.com/

This entry was posted in Technology and tagged , , , , . Bookmark the permalink.

One Response to 7 Deadly Sins of Design

  1. mr999999999 says:

    i cant understand

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s