I am a Pragmatic Programmer Part 6

This is Part 6 of 7 part series inspired from the book Pragmatic Programmer, read Part 5 here:

  1. Use Exceptions for Exceptional Problems: Exceptions can suffer from all the readability and maintainability problems of classic spaghetti code. Reserve exceptions for exceptional things.
  2. Minimize Coupling Between Modules: Avoid coupling by writing “shy” code and applying the Law of Demeter.
  3. Put Abstractions in Code, Details in Metadata: Program for the general
    case, and put the specifics outside the compiled code base.
  4. Design Using Services: Design in terms of services—independent,
    concurrent objects behind well-defined, consistent interfaces.
  5. Separate Views from Models: Gain flexibility at low cost by designing
    your application in terms of models and views.
  6. Don’t Program by Coincidence: Rely only on reliable things. Beware of
    accidental complexity, and don’t confuse a happy coincidence with a
    purposeful plan.
  7. Test Your Estimates: Mathematical analysis of algorithms doesn’t tell
    you everything. Try timing your code in its target environment.
  8. Design to Test: Start thinking about testing before you write a line
    of code.
  9. Don’t Use Wizard Code You Don’t Understand: Wizards can generate reams of code. Make sure you understand all of it before you incorporate it
    into your project.
  10. Work with a User to Think Like a User: It’s the best way to gain
    insight into how the system will really be used.

Please read part 7 of 7 part series inspired from the book Pragmatic Programmer here.

Advertisements

2 thoughts on “I am a Pragmatic Programmer Part 6

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s